首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

php正则配备div块,该怎么解决

2012-04-19 
php正则配备div块$adiv idcss1div2/div3/divdiv4/divpreg_match_all(/div id\css\

php正则配备div块
$a='<div id="css">1<div>2</div>3</div><div>4</div>';

preg_match_all('/<div id=\"css\">(.*?)<\/div>/',$a,$match);
echo '<pre>';
var_dump($match);

请问高手们:网上写的匹配div都是这样写的,但是我写的时候,发现他不能完整的匹配一个div块! 如这个我这个div id=css他的结束/div在3的后面,但是这样写只能到2那里就结束了,有没有什么方法匹配到他自己的div块?

[解决办法]
http://downloads.sourceforge.net/project/simplehtmldom/simplehtmldom/1.5/simplehtmldom_1_5.zip?r=http%3A%2F%2Fsourceforge.net%2Fprojects%2Fsimplehtmldom%2Ffiles%2F&ts=1332749181&use_mirror=nchc

simplehtmldom 类
简单、实用、高效

完全不需要自己去摆弄正则
[解决办法]
嵌套的标签用递归匹配

PHP code
<?php$str='<div id="css">1<div>2</div>3</div><div>4</div>';$pattern='#<div[^<>]*>(([^<>]*|(?R))*)</[^<>]*>#';preg_match_all($pattern,$str,$matches);echo $matches[0][0];//<div id="css">1<div>2</div>3</div>
[解决办法]
探讨
额,那有啥办法,如果是一个页面的代码,我们想把头部和尾部的div去掉,请问有什么好的方案?

热点排行