【问题标题】:php regex to remove HTMLphp正则表达式删除HTML
【发布时间】:2010-10-20 00:25:18
【问题描述】:

在我们开始之前,strip_tags() 不起作用。

现在,

我有一些需要解析的数据,问题是,我需要摆脱所有格式非常奇怪的 HTML。 标签看起来像这样: (注意空格)

< p > blah blah blah < / p > < a href= " link.html " > blah blah blah < /a >

我一直在尝试的所有正则表达式都不起作用,而且我对正则表达式格式的了解不足以使它们起作用。我不在乎保留标签内的任何内容,如果可以的话,我更愿意删除链接内的文本。

有人知道吗?

(我真的需要有一天坐下来学习正则表达式)

【问题讨论】:

    标签: php html regex


    【解决方案1】:

    preg_replace('/<[^>]*>/', '', $content)
    

    工作?

    【讨论】:

    • 您可以使用+ 代替*,因为* 如果在文本中找到,您还将替换&lt;&gt;
    【解决方案2】:

    如果您在strip_tags() 之前的变量上使用html_entity_decode()strip_tags() 将起作用

    <?php
    $text = '< p > blah blah blah < / p > < a href= " link.html " > blah blah blah< /a >';
    echo strip_tags(html_entity_decode($text));
    ?>
    

    【讨论】:

      【解决方案3】:

      不是万无一失的解决方案,但适用于您发布的内容:

      s/<[^>]*>//g
      

      【讨论】:

        【解决方案4】:

        格式奇怪?那是有效的HTML,对吗?在那种情况下,我不会用正则表达式来触及它。关于这如何出错以及为什么这是一个坏主意的例子不胜枚举。相反,我会在其上使用 HTML Tidy 来清理不必要的空白。

        【讨论】:

        • 我本来打算发这个的,但是太累了,说不清楚。 +1。
        • 当我通过 HTML Tidy 运行字符串时,它会将 符号更改为 ,因此 strip_tags() 仍然无法处理这些。我同时使用了 tidy_parse_string() 和 tidy_repair_string()。还有其他我看不到的功能吗?
        【解决方案5】:

        http://ca3.php.net/strip_tags 可能是你需要的。

        【讨论】:

        • strip_tags() 不起作用(正如我的问题的第一行所指出的那样),因为 PHP 由于格式化而无法将标签识别为 HTML。这也是我的第一个想法。
        【解决方案6】:

        试试这个并告诉我。

        <?php
        $text = '< p > blah blah blah < / p > < a href= " link.html " > blah blah blah< /a >';
        echo strip_tags($text);
        echo "\n";
        echo strip_tags($text, '<p><a>');
        ?> 
        

        【讨论】:

        • strip_tags() 不起作用(如我的问题的第一行所述),因为 PHP 无法将标签识别为 HTML。这也是我的第一个想法。
        • 你后来添加的吗?我完全错过了...您尝试使用 preg_replace 了吗?
        • 不,帖子根本没有被编辑。我在问我可以使用的正则表达式。 Chaos 的答案很可能是我最终会使用的答案,但是如果我可以使用 tidy html 来清理代码,那么使用 strip_tags 就可以了,但是我在 tidy html 中找不到可以满足我需要的函数;因此为什么我没有检查混乱的答案。 :)
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-04-16
        • 2020-12-04
        • 2010-11-24
        • 1970-01-01
        • 2011-06-13
        相关资源
        最近更新 更多