PHP 删除相邻的关闭和打开脚本标签

PHP Remove neighboring close and open script tags

说我有

<script>alert("hello");</script><script>alert("world");</script>

我怎么能删除 </script><script> 请记住,在 (</script> <script>) 之间可能有也可能没有 space,我不想这样做的脚本标签设置了源属性 (src)。

这应该与尽可能多的脚本标签一起工作,所以如果连续三个遵循相同的要求,它将变成一个大脚本标签。

您声明可能有 "a" space。如果是这样,您有两种情况:</script><script></script> <script>。您可以轻松地将两者替换为 space:

$html = str_replace('</script><script>',' ',$html);
$html = str_replace('</script> <script>',' ',$html);

但是,如果白色很多怎么办space?制表符、换行符等...全部加起来为白色space。您可以 preg_replace (这不是用正则表达式解析 HTML - 它只是替换一个明确定义的字符串)。

$html = preg_replace('~</script>\s*<script>~',' ',$html);

注意:如果第二个