wp_kses_hair_parse
函数
wp_kses_hair_parse ( $attr )
- 参数
-
-
(string)
$attr
Attribute list from HTML element to closing HTML element tag.- Required: 是
-
(string)
- 返回值
-
- (array|false) List of attributes found in $attr. Returns false on failure.
- 定义位置
-
-
wp-includes/kses.php
, line 1521
-
wp-includes/kses.php
- 引入
- 4.2.3
- 弃用
- –
Builds an attribute list from string containing attributes.
Does not modify input. May return “evil” output.
In case of unexpected input, returns false instead of stripping things.
Based on `wp_kses_hair()` but does not return a multi-dimensional array.
function wp_kses_hair_parse( $attr ) { if ( '' === $attr ) { return array(); } // phpcs:disable Squiz.Strings.ConcatenationSpacing.PaddingFound -- don't remove regex indentation $regex = '(?:' . '[_a-zA-Z][-_a-zA-Z0-9:.]*' // Attribute name. . '|' . '[[?[^[]]+]]?' // Shortcode in the name position implies unfiltered_html. . ')' . '(?:' // Attribute value. . 's*=s*' // All values begin with '='. . '(?:' . '"[^"]*"' // Double-quoted. . '|' . "'[^']*'" // Single-quoted. . '|' . '[^s"']+' // Non-quoted. . '(?:s|$)' // Must have a space. . ')' . '|' . '(?:s|$)' // If attribute has no value, space is required. . ')' . 's*'; // Trailing space is optional except as mentioned above. // phpcs:enable // Although it is possible to reduce this procedure to a single regexp, // we must run that regexp twice to get exactly the expected result. $validation = "%^($regex)+$%"; $extraction = "%$regex%"; if ( 1 === preg_match( $validation, $attr ) ) { preg_match_all( $extraction, $attr, $attrarr ); return $attrarr[0]; } else { return false; } }
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。