将strip_tags与自定义排除一起使用

时间:2015-04-23 10:14:56

标签: php regex strip-tags

在我的代码中,我需要删除带有内联“display:none”属性的字符串中的所有标记,所以这样的标记:

<div style="display:none"></div>

应保持完整。

实现这一目标的最佳方法是什么?有什么方法可以让strip_tags以这种方式工作吗?

3 个答案:

答案 0 :(得分:1)

您可以将第二个参数(想要排除)传递给strip_tags,就像

一样
   $str =  "<html><div style='display:none'></div></html>";
   echo strip_tags($str,  '<div></div>');

输出为<div style='display:none'></div>

答案 1 :(得分:0)

您可以使用正则表达式 /&lt; [^&gt;] *&gt; /

    <?PHP 
$val = preg_replace('/<[^>]*>/', '', '<div style="display:none">tessss</div>') ; 
echo $val ;
?> 

strip_tags仅适用于可见标签,但正则表达式是最佳方式

答案 2 :(得分:0)

我终于做到了:

$ div = preg_replace(&#39; /&lt;(?!/?div style =&#34; display:none)[^&gt;] +&gt; /&#39;,&#39;& #39;,$格);