在我的代码中,我需要删除带有内联“display:none”属性的字符串中的所有标记,所以这样的标记:
<div style="display:none"></div>
应保持完整。
实现这一目标的最佳方法是什么?有什么方法可以让strip_tags以这种方式工作吗?
答案 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;,$格);