strip_shortcodes()删除指定内容中的所有短代码标签

目录

描述

删除指定内容中的所有短 码标签

strip_shortcodes() 描述

用法

<?php strip_shortcodes$content ); ?>

strip_shortcodes() 用法

参数

$content

(string) (必填) 将要删  有短代码标签的字符串。

默认值: None

strip_shortcodes() 参数

返回值

(string

 了所有段代码标签的字符串。

strip_shortcodes() 返回值

示例

Strip shortcodes on home page but not on single or archive pages

When viewing posts 'home' page, strip all shortcodes, but on other pages, such as single.php, do not strip the shortcodes.

/* ----------------------------------
 * wordpress之魂 © http://wphun.com
 * ---------------------------------- */

function remove_shortcode_from_index( $content ) {
  if ( is_home() ) {
    $content = strip_shortcodes( $content );
  }
  return $content;
}
add_filter( 'the_content', 'remove_shortcode_from_index' );

strip_shortcodes() 示例

历史

添加于 版本: 2.5

strip_shortcodes() 历史

源文件

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

/* ----------------------------------
 * wordpress之魂 © http://wphun.com
 * ---------------------------------- */
/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @global array $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes( $content ) {
	global $shortcode_tags;

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

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

	$content = do_shortcodes_in_html_tags( $content, true );

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

	// Always restore square braces so we don't break things like