HTML:
<script type="text/javascript"> ..code.. </script>
<script type="text/javascript"> ..code.. </script>
<script> ..code.. </script>
<script type="text/javascript"> ..code.. </script>
我想看到的内容:
<script type="text/javascript"></script>
<script type="text/javascript"></script>
<script></script>
<script type="text/javascript"></script>
我的表情:
preg_match_all('/<script.*> (<\/script>)/i',$html, $result);
我无法让它发挥作用。
答案 0 :(得分:0)
来自Here:
function stripscript($code) {
$code = preg_replace('/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/i', '<script type="text/javascript"></script>', $code);
return $code;
}
键盘示例:here
答案 1 :(得分:0)
您可以使用:
$html = preg_replace('~<script[^>]*>\K[^<]*(?=</script>)~i', '', $html);
或更多表演:
$html = preg_replace('~<script[^>]*+>\K[^<]*+(?=</script>)~i', '', $html);
请注意,如果您确定小写,则可以删除i
。
\K
从匹配结果重置匹配的开始。
(?=</script>)
是零宽度断言,表示“后跟{{1 }}”。这不是比赛结果的一部分。这只是一张支票。