当我使用strip_tags
来修改HTML文本时,我遇到了问题
HTML代码是
<img style="max-width: 60px; max-height: 90px;
width: expression(this.width > 60 ? 60: true);
height: expression(this.height > 90 ? 90: true);"
src="image.php?s=d377256dd97b17e9bf0b1182743c95c2&u=1&dateline=1215813557"
alt="DailyFX Forum Administrator's Avatar" />
strip_tags
无法正常运行,我想使用preg_replace
编写一些代码,但我不知道如何匹配上一个>
,而不是>
在风格。你能救我吗?
感谢
加里
答案 0 :(得分:1)
由于您的标记无效,因此在使用strip_tags或任何其他标记解析器之前必须对其进行清理。对于此特定问题,您可以尝试:
preg_replace("expression([^)]+)", "", $your_html)
我建议你切换到使用样式表而不是内联样式,这样你就有了有效的标记。
答案 1 :(得分:0)
这是一个完美的例子,正则表达式不会削减它(至少有一个没有复杂的)。
使用DOM解析器。
答案 2 :(得分:0)
您确实不想尝试使用preg_replace解析复杂的HTML。这几乎是不可能的。
查看http://simplehtmldom.sourceforge.net/或其中一个other PHP HTML libraries。