shortcode_parse_atts()获取短代码的所有属性

目录

描述

获取短代 的所有属性,获取到 性列表是属 名作  key,属性  为 value   key/value  。这个函数用 更加容易获取 性,因为所有属 都必须 知。

shortcode_parse_atts() 描述

用法

<?php shortcode_parse_atts$text ); ?>

shortcode_parse_atts() 用法

参数

$text

(string) (必填) 短代码 所有 性的文本。

默认值: None

shortcode_parse_atts() 参数

返回值

(mixed) 

 性和 的值的数组,或者一个字符串。

 

shortcode_parse_atts() 返回值

注意

 解析  的属性,包 短代码不支持的属性。使用 shortcode_atts() 函数来指   所需的 性并  它们。

shortcode_parse_atts() 注意

历史

添加于 版本: 2.5

shortcode_parse_atts() 历史

源文件

shortcode_parse_atts() 函数的代码位于 wp-includes/shortcodes.php.

/* ----------------------------------
 * wordpress之魂 © http://wphun.com
 * ---------------------------------- */
/**
 * Retrieve all attributes from the shortcodes tag.
 *
 * 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.
 *
 * @since 2.5.0
 *
 * @param string $text
 * @return array List of attributes and their value.
 */
function shortcode_parse_atts($text) {
	$atts = array();
	$pattern = '/([w-]+)s*=s*"([^"]*)"(?:s|$)|([w-]+)s*=s*'([^']*)'(?:s|$)|([w-]+)s*=s*([^s'"]+)(?:s|$)|"([^"]*)"(?:s|$)|(S+)(?:s|$)/';
	$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]))
				$atts[] = stripcslashes($m[8]);
		}
	} else {
		$atts = ltrim($text);
	}
	return $atts;
}

shortcode_parse_atts() 源文件

相关