Maison  >  Article  >  développement back-end  >  正则婚配嵌套div ,求PHP实现

正则婚配嵌套div ,求PHP实现

WBOY
WBOYoriginal
2016-06-13 12:58:13897parcourir

正则匹配嵌套div ,求PHP实现~
如下html串:
$str = '


    
1111111111

    
2222222222

    link1
 

 

     
1111111111

      正则婚配嵌套div ,求PHP实现
     
2222222222

 
';
需要匹配出的结果:
    将
中的内容匹配出来, 即:
   1=>     
           
1111111111

           
2222222222

           link1

   2=>     
           
1111111111

            正则婚配嵌套div ,求PHP实现
           
2222222222

php程序实现,在线等~
        
------解决方案--------------------
引用:
$patten='/(
(*)
)/';
preg_match_all($patten,$str,$match);


没有这么简单.因为会有多个
,你应该从内层开始查找,然后一层一层的往外,知道匹配到
为止
------解决方案--------------------
<?php<br />
$str = '<div class="am1"><br />
    <div class="image">1111111111</div><br />
    <div class="image">2222222222</div><br />
    <a href="test.php">link1</a><br />
</div><br />
<div class="am1"><br />
     <div class="image">1111111111</div><br />
     <img  src="./tt.gif" / alt=" 正则婚配嵌套div ,求PHP实现 " ><br />
     <div class="image">2222222222</div><br />
</div>';<br />
if (preg_match_all('#<div[^>]*>((?>[^</div>]+<br><font color='#FF8000'>------解决方案--------------------</font><br><a.+?>.+?</a><br><font color='#FF8000'>------解决方案--------------------</font><br><img .+?/ alt=" 正则婚配嵌套div ,求PHP实现 " ><br><font color='#FF8000'>------解决方案--------------------</font><br>(?R))*)</div>#is', $str, $matches)){<br />
	print_r($matches);<br />
}<br />
 ?>
Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent: pChart库的使用请问 Article suivant: php佯装来路