将 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);
在我的代码中,我需要从字符串中删除所有标签,不包括具有内联 "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);