成对标签多行匹配,大家正则一般应该怎么写?
#<script[^>]*>.*</script>#isU这样吗?
U模式和.*搞得我一个头两个大
<script type="text/javascript">
............
</script>
<div class="test">
<!-- 内部无div -->
..........
</div>
<script type="text/javascript">
............
</script>
<div class="test">
<!-- 内部无div -->
..........
</div>
#<script[^>]*>.*</script>#isU这样吗?
U模式和.*搞得我一个头两个大
<script type="text/javascript">
............
</script>
<div class="test">
<!-- 内部无div -->
..........
</div>
<script type="text/javascript">
............
</script>
<div class="test">
<!-- 内部无div -->
..........
</div>
$string = <<<CONT
<script type="text/javascript">
............
</script>
<div class="test">
<!-- 内部无div -->
..........
</div>
<script type="text/javascript">
............
</script>
<div class="test">
<!-- 内部无div -->
..........
</div>
CONT;preg_match_all('#<script[^>]*>.*</script>#isU', $string, $match);
print_r($match);
?>
没有问题啊
<script type="text/javascript">
document.write("<div>这里是广告区域</div>");
</script>
<script type="text/javascript">
function hello(){
var a=1;
}
</script>
<script src='http://dcdv1.it.com.cn/adsunion/get/;pl=pl-9-homepage_bp;tp=js;sk=0;ck=0;/?'></script>
<SCRIPT src='http://dcdv1.it.com.cn/adsunion/get/;pl=pl-9-homepage_qp;tp=js;sk=0;ck=0;/?'></SCRIPT>
<script src='http://dcdv1.it.com.cn/adsunion/get/;pl=pl-9-homepage_top;tp=js;sk=0;ck=0;/?'></script>
<div class="test">
"hello";
</div>
<script type="text/javascript" src="good.js"></script>
<!--
怎样匹配出所有js代码?
1.含有src="*.js";(没有.js的多是广告js)
2.内部第一行是document.write的不要 (这类多是广告js)
-->
这个没有办法匹配里面的内容呀,这个只能匹配页面上已经有的东西
var_dump($matches);