繁体   English   中英

删除所有内容内容的标签

[英]Remove all Tags with inner Content

我想删除所有内容内容的标签。

我正在使用以下功能。

function strip_tags_content($text, $tags = '', $invert = FALSE) {

    preg_match_all('/<(.+?)[\s]*\/?[\s]*>/si', trim($tags), $tags);
    $tags = array_unique($tags[1]);

    if (is_array($tags) AND count($tags) > 0) {
        if ($invert == FALSE) {
            return preg_replace('@<(?!(?:' . implode('|', $tags) . ')\b)(\w+)\b.*?>.*?</\1>@si', '', $text);
        } else {
            return preg_replace('@<(' . implode('|', $tags) . ')\b.*?>.*?</\1>@si', '', $text);
        }
    } elseif ($invert == FALSE) {
        return preg_replace('@<(\w+)\b.*?>.*?</\1>@si', '', $text);
    }
    return $text;
}

但我仍然得到以下结果。

<p><span style="color: rgb(38, 38, 38); font-family: arial, helvetica, sans-serif; fon...

我希望删除所有的html标签。

p, span etc.我哪里错了?

您可以使用PHP's内置函数strip_tags

$striped_string = strip_tags($your_html_string);

注意:您还可以选择通过将这些标记作为第二个参数传递来确保不剥离某些标记

看看PHP DOCS

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM