PHP带奇数html标记
PHP带奇数html标记,php,Php,当我使用strip\u标签将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=d377256dd
当我使用
strip\u标签
将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\u标签
无法正常工作,我想用preg\u replace
编写一些代码,但我不知道如何匹配最后一个
,而不是样式中的
。你能帮我吗
谢谢Gary这里有一个很好的例子,正则表达式不会对其进行剪切(至少是一个不复杂的正则表达式) 使用DOM解析器。你真的不想用preg\u替换来解析复杂的HTML。几乎不可能做到正确
查看或其中一个。由于您的标记无效,您必须在使用strip_标记或任何其他标记解析器之前对其进行清理。对于此特定问题,您可以尝试:
preg\u replace(“表达式([^)]+),“”,$your\u html)
我建议您切换到使用样式表而不是内联样式,这样您就有了有效的标记。无关:这是一个非常奇怪的表达式:
height:expression(this.height>90?90:true)代码>现在可能:高度:true代码>??你的意思是:height:expression(this.height>90?90:this.height)代码>如果你这样做,只需使用最大高度:90px
@Rudie我认为这个CSS表达式是为了绕过IE6的限制(比如不支持max height
属性)?IE6到底是什么?如果你使用IE6,你应该得到一些糟糕的、不可读的网站,这些网站会失败、破坏并摧毁你的计算机。将代码缩进4个空格(或者选择它并按{}
按钮)。这会将您的代码标记为代码。不需要HTML转义所有内容。@Rudie很公平,你必须足够幸运,不必支持它。是的,没有捷径。这是在使用strip_标记之前对其进行清理的唯一方法。例如preg_replace(数组(''/]*>.*?/mi'),'',$your_html)