strip_shortcodes

The timeline below displays how wordpress function strip_shortcodes has changed across different WordPress versions. If a version is not listed, refer to the next available version below.

WordPress Version: 6.3

/**
 * Removes 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 (!str_contains($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;
}

WordPress Version: 6.1

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

WordPress Version: 5.4

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

WordPress Version: 5.1

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

WordPress Version: 4.7

/**
 * 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;
    }
    // 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  $tag_array 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;
}

WordPress Version: 4.1

/**
 * 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;
    }
    // Find all registered tag names in $content.
    preg_match_all('@\[([^<>&/\[\]\x00-\x20=]++)@', $content, $matches);
    $tagnames = array_intersect(array_keys($shortcode_tags), $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;
}

WordPress Version: 4.4

/**
 * 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;
    }
    // Find all registered tag names in $content.
    preg_match_all('@\[([^<>&/\[\]\x00-\x20]++)@', $content, $matches);
    $tagnames = array_intersect(array_keys($shortcode_tags), $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;
}

WordPress Version: 4.3

/**
 * 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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: .20

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 2.2

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .10

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 4.2

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: 1.6

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 1.5

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .40

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 1.4

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .30

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 1.3

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .20

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 1.2

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .10

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 4.1

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: 0.6

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 0.4

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .30

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 0.3

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .20

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 0.2

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .10

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 4.0

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: 9.7

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 9.2

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .10

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 3.9

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5.0
 *
 * @uses $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;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: 8.9

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 8.4

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    if (empty($shortcode_tags) || !is_array($shortcode_tags)) {
        return $content;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .30

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 8.3

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    if (empty($shortcode_tags) || !is_array($shortcode_tags)) {
        return $content;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .20

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 8.2

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    if (empty($shortcode_tags) || !is_array($shortcode_tags)) {
        return $content;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .10

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 3.8

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    if (empty($shortcode_tags) || !is_array($shortcode_tags)) {
        return $content;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: 7.9

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 7.5

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    if (empty($shortcode_tags) || !is_array($shortcode_tags)) {
        return $content;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .40

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 7.4

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    if (empty($shortcode_tags) || !is_array($shortcode_tags)) {
        return $content;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .30

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 7.3

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    if (empty($shortcode_tags) || !is_array($shortcode_tags)) {
        return $content;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .20

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 7.2

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    if (empty($shortcode_tags) || !is_array($shortcode_tags)) {
        return $content;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}

WordPress Version: .10

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    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 <!--[if IE ]>
    $content = unescape_invalid_shortcodes($content);
    return $content;
}

WordPress Version: 3.7

/**
 * Remove all shortcode tags from the given content.
 *
 * @since 2.5
 * @uses $shortcode_tags
 *
 * @param string $content Content to remove shortcode tags.
 * @return string Content without shortcode tags.
 */
function strip_shortcodes($content)
{
    global $shortcode_tags;
    if (empty($shortcode_tags) || !is_array($shortcode_tags)) {
        return $content;
    }
    $pattern = get_shortcode_regex();
    return preg_replace_callback("/{$pattern}/s", 'strip_shortcode_tag', $content);
}