strip_shortcodes

函数
strip_shortcodes ( $content )
参数
  • (string) $content Content to remove shortcode tags.
    Required:
返回值
  • (string) Content without shortcode tags.
定义位置
相关方法
strip_shortcode_taghas_shortcodeapply_shortcodesdo_shortcodeadd_shortcode
引入
2.5.0
弃用
-

strip_shortcodes: 这是一个WordPress的函数,从一个字符串中删除所有的短码标签。它需要一个参数,$content,并返回删除所有短码标签的字符串。

从给定的内容中删除所有短码标签。

function strip_shortcodes( $content ) {
	global $shortcode_tags;

	if ( false === strpos( $content, '[' ) ) {
		return $content;
	}

	if ( empty( $shortcode_tags ) || ! is_array( $shortcode_tags ) ) {
		return $content;
	}

	// Find all registered tag names in $content.
	preg_match_all( '@[([^<>&/[]x00-x20=]++)@', $content, $matches );

	$tags_to_remove = array_keys( $shortcode_tags );

	/**
	 * Filters the list of shortcode tags to remove from the content.
	 *
	 * @since 4.7.0
	 *
	 * @param array  $tags_to_remove Array of shortcode tags to remove.
	 * @param string $content        Content shortcodes are being removed from.
	 */
	$tags_to_remove = apply_filters( 'strip_shortcodes_tagnames', $tags_to_remove, $content );

	$tagnames = array_intersect( $tags_to_remove, $matches[1] );

	if ( empty( $tagnames ) ) {
		return $content;
	}

	$content = do_shortcodes_in_html_tags( $content, true, $tagnames );

	$pattern = get_shortcode_regex( $tagnames );
	$content = preg_replace_callback( "/$pattern/", 'strip_shortcode_tag', $content );

	// Always restore square braces so we don't break things like <!--[if IE ]>.
	$content = unescape_invalid_shortcodes( $content );

	return $content;
}

常见问题

FAQs
查看更多 >