查找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/