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

Using strip_tags with custom exclusion

在我的代码中,我需要从字符串中删除所有标签,不包括具有内联 "display:none" 属性的标签,因此标签如下:

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

应该保持完整。

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

您可以使用正则表达式 /<[^>]*>/

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

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

您可以像

一样将第二个参数(想要排除)传递给strip_tags
   $str =  "<html><div style='display:none'></div></html>";
   echo strip_tags($str,  '<div></div>');

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

我终于做到了:

$div = preg_replace('/<(?!/?div style="display:none)[^>]+>/' ,'',$div);