shortcode_parse_atts( string $text )
Retrieve all attributes from the shortcodes tag.
Description
The attributes list has the attribute name as the key and the value of the attribute as the value in the key/value pair. This allows for easier retrieval of the attributes, since all attributes have to be known.
Parameters
- $text
-
(Required)
Return
(array|string) List of attribute values. Returns empty array if trim( $text ) == '""'. Returns empty string if trim( $text ) == ''. All other matches are checked for not empty().
Source
File: wp-includes/shortcodes.php
function shortcode_parse_atts($text) {
$atts = array();
$pattern = get_shortcode_atts_regex();
$text = preg_replace("/[\x{00a0}\x{200b}]+/u", " ", $text);
if ( preg_match_all($pattern, $text, $match, PREG_SET_ORDER) ) {
foreach ($match as $m) {
if (!empty($m[1]))
$atts[strtolower($m[1])] = stripcslashes($m[2]);
elseif (!empty($m[3]))
$atts[strtolower($m[3])] = stripcslashes($m[4]);
elseif (!empty($m[5]))
$atts[strtolower($m[5])] = stripcslashes($m[6]);
elseif (isset($m[7]) && strlen($m[7]))
$atts[] = stripcslashes($m[7]);
elseif (isset($m[8]) && strlen($m[8]))
$atts[] = stripcslashes($m[8]);
elseif (isset($m[9]))
$atts[] = stripcslashes($m[9]);
}
// Reject any unclosed HTML elements
foreach( $atts as &$value ) {
if ( false !== strpos( $value, '<' ) ) {
if ( 1 !== preg_match( '/^[^<]*+(?:<[^>]*+>[^<]*+)*+$/', $value ) ) {
$value = '';
}
}
}
} else {
$atts = ltrim($text);
}
return $atts;
}
Changelog
Version | Description |
---|---|
WP-2.5.0 | Introduced. |