wp_kses_attr_parse() WordPress Function
The wp_kses_attr_parse() function is used to parse a string of HTML attributes. It is used to ensure that only valid attributes are allowed and to remove any invalid attributes. This function is used by the wp_kses() function.
wp_kses_attr_parse( string $element ) #
Finds all attributes of an HTML element.
Description
Does not modify input. May return "evil" output.
Based on wp_kses_split2()
and wp_kses_attr()
.
Parameters
- $element
(string)(Required)HTML element.
Return
(array|false) List of attributes found in the element. Returns false on failure.
Source
File: wp-includes/kses.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; }
Expand full source codeCollapse full source codeView on TracView on GitHub
Changelog
Version | Description |
---|---|
4.2.3 | Introduced. |