wpseek.com
A WordPress-centric search engine for devs and theme authors
wp_kses_hair_parse › WordPress Function
Since4.2.3
Deprecatedn/a
› wp_kses_hair_parse ( $attr )
Parameters: |
|
Returns: |
|
Defined at: |
|
Codex: |
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 onwp_kses_hair()
but does not return a multi-dimensional array.Source
function wp_kses_hair_parse( $attr ) { if ( '' === $attr ) { return array(); } $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. '; /* * Although it is possible to reduce this procedure to a single regexp, * we must run that regexp twice to get exactly the expected result. * * Note: do NOT remove the `x` modifiers as they are essential for the above regex! */ $validation = "/^($regex)+$/x"; $extraction = "/$regex/x"; if ( 1 === preg_match( $validation, $attr ) ) { preg_match_all( $extraction, $attr, $attrarr ); return $attrarr[0]; } else { return false; } }