返回介绍

shortcode_parse_atts()

发布于 2017-09-11 10:23:00 字数 2678 浏览 1179 评论 0 收藏 0

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.


参数

$text

(string) (Required)


返回值

(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().


源代码

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]))
				$atts[] = stripcslashes($m[8]);
		}

		// 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;
}

更新日志

Versiondescription
2.5.0Introduced.

相关函数

Uses

  • wp-includes/shortcodes.php: get_shortcode_atts_regex()

Used By

  • wp-admin/includes/ajax-actions.php: wp_ajax_parse_embed()
  • wp-includes/formatting.php: wp_rel_nofollow_callback()
  • wp-includes/shortcodes.php: do_shortcode_tag()
  • wp-includes/class-oembed.php: WP_oEmbed::discover()
  • wp-includes/media.php: get_post_galleries()

User Contributed Notes

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文