【发布时间】:2014-09-22 19:43:42
【问题描述】:
我发现这个从标签中去除样式属性的正则表达式。
$content = preg_replace('/(<[^>]+) style=".*?"/i', '$1', $_POST['content']);
它工作得很好,但我正在尝试找到一个解决方案,只将样式从段落<p>标签中剥离出来:
<h1 style="font: times">Hello</h1>
<p style="font: verdana">World</p>
会变成
<h1 style="font: times">Hello</h1>
<p>World</p>
我自己尝试过修改正则表达式,但我无法解决这个问题,我的正则表达式失败了。
【问题讨论】:
-
我建议使用适当的 HTML 库。这个嵌套问题特别难以用正则表达式解决 -
元素 不需要 需要显式关闭并没有帮助。
-
@user2864740 我明白了,我可能会看一下要使用的库。在这种情况下,虽然我可以保证它们将永远关闭。
-
询问要使用的 which 库 - 可能。但这就是搜索引擎和研究的目的。 (一旦选择了一个库,那么关于它的使用的问题会更合适。)