我想在一大堆html中匹配以<div id="navClumb">开头的,以</div>结束的一段html, 求好方法!

解决方案 »

  1.   

    $patten = '/<div\s+id="navClumb">(.*)<\/div>/isU';
    preg_match_all($patten,$html,$matches);
    print_r($matches[1]);
      

  2.   

    如果div里面还有class="xxx"这些属性呢?
      

  3.   

    <?php $html=<<<EOF
    <div id="other1">
    1
    <div id="navClumb">
    2
    <div id="other1">
    3
    </div></div></div>EOF;
    $patten = '/<div\s+id="navClumb">(.*)<\/div>/isU';
    preg_match_all($patten,$html,$matches);
    print_r($matches[1]);
      

  4.   

    如果是嵌套div,再如果是碰上个class相同的嵌套在内部,都白瞎了
      

  5.   

    $reg = '/<div.*?id="navClumb">(.*?)<\/div>/is';
    preg_match_all($reg,$html,$matches);
    我一般这么写
      

  6.   

    我再想在一大堆html中匹配以<div id="navClumb" class="navClumb" rel="xxx" style=...>开头的,以</div>结束的一段html, div里的属性不只id一个,可能还有其它,如class, rel, style等等.
    大虾们帮忙
      

  7.   


    $s='<div align="center" id="navClumb" class="navClumb" rel="xxx" style=...>开头的,以</div>
    <div id="aa">aaaa</div>
    <div id="dd" class="navClumb" rel="xxx" style=...>ddddd</div>';
    $patten = '/<div[^>]*(?:id="navClumb")[^>]*>(.*)<\/div>/isU'; 
    preg_match_all($patten,$s,$matches);
     print_r($matches);Array
    (
        [0] => Array
            (
                [0] => <div align="center" id="navClumb" class="navClumb" rel="xxx" style=...>开头的,以</div>
            )    [1] => Array
            (
                [0] => 开头的,以
            ))
      

  8.   

    这个有嵌套的话就不好匹配了PHP记得有一个解析html dom的类,你用这个才行或都LZ可以用jquery去提取,可以很准确
      

  9.   

    有下面一段html代码:<span class="sec_li"><a href="http://www.xxxxxxx.com/nintendo-accessories-c-101_768.html" class="bold pad_l_">Nintendo Accessories&nbsp;(634)</a>
    <span class="lv3_cat"><a href="http://www.xxxxxxx.com/wii-accessories-c-101_768_773.html" class="lv3_a ">Wii Accessories</a></span>
    <span class="lv3_cat"><a href="http://www.xxxxxxx.com/3ds-accessories-c-101_768_778.html" class="lv3_a ">3DS Accessories</a></span>
    <span class="lv3_cat"><a href="http://www.xxxxxxx.com/ds-accessories-c-101_768_774.html" class="lv3_a ">DS Accessories</a></span>
    <span class="lv3_cat"><a href="http://www.xxxxxxx.com/dsl-accessories-c-101_768_775.html" class="lv3_a ">DSL Accessories</a></span>
    <span class="lv3_cat"><a href="http://www.xxxxxxx.com/dsi-accessories-c-101_768_776.html" class="lv3_a ">DSi Accessories</a></span>
    <span class="lv3_cat"><a href="http://www.xxxxxxx.com/dsi-ll-accessories-c-101_768_777.html" class="lv3_a ">DSi LL Accessories</a></span>
    </span>我想获取到每一个<a>标签之间的内容., 即Nintendo Accessories, Wii Accessories,3DS Accessories, DS Accessories, DSL Accessories, DSi Accessories和DSi LL Accessories怎么办?