【问题标题】:PHP how to remove the html tags(<DIV></DIV>,<P></P>,<SPAN></SPAN>) from the stringPHP如何从字符串中删除html标签(<DIV></DIV>,<P></P>,<SPAN></SPAN>)
【发布时间】:2010-03-25 07:05:51
【问题描述】:

我正在使用 strip_tags() 从一个内容中删除 HTML 标签。但我想删除除&lt;img&gt;&lt;a&gt; 之外的html (&lt;DIV&gt;&lt;/DIV&gt;,&lt;P&gt;&lt;/P&gt;,&lt;SPAN&gt;&lt;/SPAN&gt;) 标记,我不想从中删除&lt;img &gt;&lt;a&gt; 标记。但需要从该内容中删除其他所有 html 标签,我该如何帮助我。

谢谢

【问题讨论】:

    标签: php


    【解决方案1】:

    如果你想去除除&lt;img&gt;标签之外的所有标签,你可以这样做:

    strip_tags($your_text, '<img><a>');
    

    strip_tags函数的第二个参数允许你指定允许的标签。您也可以指定多个标签。

    【讨论】:

    • 我认为 strip_tags($text, '&lt;a&gt;&lt;img&gt;') 是 Dam 想要的。另外,这是strip_tags 的文档:php.net/strip_tags +1
    • @Felix:是的,你是对的,他在我发布我的答案后添加了这个。
    【解决方案2】:
    <?php
    $text = '<p>Test paragraph.</p><img>sdfsdfsdfsd</img><!-- Comment --> <a href="#fragment">Other text</a>';
    echo "\n";
    echo strip_tags($text, '<p><a><img>');
    ?>
    

    【讨论】:

      【解决方案3】:

      strip_tags 有很多边缘情况不起作用。如果您在不受信任的内容上使用它,最好改用HtmlPurifier

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-02-14
        • 1970-01-01
        • 1970-01-01
        • 2021-09-15
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多