查找HTML元素的所有属性。

原型

wp_kses_attr_parse( string $element )

描述

不修改输入。可能会返回“邪恶”输出。

参数

$element (string) (Required) HTML元素/标签

返回值

(array|bool)  在$ element中找到的属性列表。失败时返回false。

源文件

路径:wp-includes/kses.php

<?php
...
function wp_kses_attr_parse( $element ) {
	$valid = preg_match('%^(<s*)(/s*)?([a-zA-Z0-9]+s*)([^>]*)(>?)$%', $element, $matches);
	if ( 1 !== $valid ) {
		return false;
	}
	$begin =  $matches[1];
	$slash =  $matches[2];
	$elname = $matches[3];
	$attr =   $matches[4];
	$end =    $matches[5];
	if ( '' !== $slash ) {
		// Closing elements do not get parsed.
		return false;
	}
	// Is there a closing XHTML slash at the end of the attributes?
	if ( 1 === preg_match( '%s*/s*$%', $attr, $matches ) ) {
		$xhtml_slash = $matches[0];
		$attr = substr( $attr, 0, -strlen( $xhtml_slash ) );
	} else {
		$xhtml_slash = '';
	}
	// Split it
	$attrarr = wp_kses_hair_parse( $attr );
	if ( false === $attrarr ) {
		return false;
	}
	// Make sure all input is returned by adding front and back matter.
	array_unshift( $attrarr, $begin . $slash . $elname );
	array_push( $attrarr, $xhtml_slash . $end );
	return $attrarr;
}
...
?>

其他

英文文档:https://developer.wordpress.org/reference/functions/wp_kses_attr_parse/