【问题标题】:php clean html regexphp 清理 html 正则表达式
【发布时间】:2011-06-10 16:25:46
【问题描述】:

好吧,我在使用正则表达式或正则表达式时总是遇到很多困难,所以我正在寻求帮助。

我正在尝试探索浏览器的 html 编辑功能,但大多数时候我得到了我不需要的东西,比如这个

<div style="text-align: left;"><span style="font-size: small;"><font face="verdana"><br></font></span></div>

有人可以提供一个正则表达式来将其转换为 &lt;br&gt; 吗?

如果可能的话,理想的交易是处理不同的组合,例如字体可能不是 verdana,并且 text-align 的样式可以是每个示例的中心。

提前致谢。

普鲁达

【问题讨论】:

  • 不要使用正则表达式解析 HTML。这是一篇关于如何正确操作的非常好的帖子:stackoverflow.com/questions/3650125/how-to-parse-html-with-php
  • 你如何决定你想保留什么,你想去掉什么?我在这里看到的唯一真实的事情是 &lt;font&gt; 已被弃用,不应出现在您的 html 中。
  • 如果您真的想了解为什么永远不要尝试使用正则表达式解析 (x)html,请继续阅读:stackoverflow.com/questions/1732348/…
  • 谢谢你的链接,去研究一下:-)

标签: php regex


【解决方案1】:

由于解析 HTML 的限制,正则表达式不是正确的路径。

我认为你最好去看看strip_tags()。特别是使用允许哪些标签的第二个参数。但是,在您的情况下,确定要删除和保留哪些标签可能很困难。如果确实如此,您可能需要更新您的问题。

【讨论】:

    【解决方案2】:

    如果您想使用简单的 br 标签删除固定的 HTML 汤料堆积,那么正则表达式可能是可行的。然而,我没有看到这里的困难。您的字符串本身不包含元字符。因此,您只需将left 和Verdana 替换为\w+ 或[\w\s]+ 之类的占位符,并将所有内容放入# 之类的分隔符中。

    【讨论】:

    • 我想我会在第一个答案中找到链接,但是,你能给我一个例子吗?真的我不知道如何应用这个\w\s。谢谢
    猜你喜欢
    • 2010-10-31
    • 1970-01-01
    • 1970-01-01
    • 2010-11-27
    • 2010-12-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多