Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/19.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHP-如何从HTML代码中删除特定标记_Php_Regex - Fatal编程技术网

PHP-如何从HTML代码中删除特定标记

PHP-如何从HTML代码中删除特定标记,php,regex,Php,Regex,如何删除每个 <script></script> HTML文件中的元素?我尝试了以下正则表达式: preg_replace("/<script.*\/script>/", "", $html); 但它只在代码仅在一行中时起作用。当换行符出现时,它不想工作。有什么想法吗??谢谢 您可以这样做: $HTML = str_replace(array("\r", "\n", "\r\n"), '', $HTML); preg_replace("/<sc

如何删除每个

<script></script> 
HTML文件中的元素?我尝试了以下正则表达式:

 preg_replace("/<script.*\/script>/", "", $html);
但它只在代码仅在一行中时起作用。当换行符出现时,它不想工作。有什么想法吗??谢谢

您可以这样做:

$HTML = str_replace(array("\r", "\n", "\r\n"), '', $HTML);

preg_replace("/<script.*\/script>/", "", $html);

删除所有特征线,然后重试。问题已解决。

将s修饰符添加到正则表达式中。s修改器在中包含换行符。通配符


但是,如果您想从html输入中删除一些恶意代码,可以考虑使用一些html清理程序,如htmlpurifier,或者简单地使用strip_标记

为什么不简单地将s修饰符添加到正则表达式@菲利普,因为我不知道正则表达式!很好,很好,谢谢。唯一的问题是它变得太贪婪了。通过使用u形修饰符解决。可以添加一个?到*或+,则得到一个非贪婪版本