比如说 <div class="info">…………………………</div>这对标签内的内容不过这个div里面有多个div嵌套 要用到正则吗??先用file_get_contents()获取到网页内容,然后用正则匹配截取吗??
有没有可以直接获取的方法呢??

解决方案 »

  1.   

    正则匹配如果网页内容是你自己的话,可以在网页上用Ajax提交<div>中的内容给PHP处理。
      

  2.   

    尽量用处理dom结构的方式获取内容,
    正则是万不得已的时候才用的。
      

  3.   

    jQuery 不是有个html()方法吗?
      

  4.   

    正则就可以了,不一定需要 dom 来处理。
      

  5.   

    php正则没有引入平衡组,其递归能力偏弱,能用dom就用dom吧.
      

  6.   

    字符串里有明显的开始和结尾来区分的,就用正则。
    如果比较模糊的那种就用dom xpath来。
    如:
    ****************<div class='1'><div><div><div><div><div><div><div>
    <div>gdgfdgdfgfd</div>
    <div>gdgfdgdfgfd</div>
    <div>gdgfdgdfgfd</div>
    <div>gdgfdgdfgfd</div>
    </div></div></div></div></div></div></div></div>******************$dom = new DOMDocument();
    $dom->loadHTML( $str );
            
    $xpath = new DOMXPath( $dom );
    $el    = $xpath->query("//html/body/div[@class='1']");
            
      

  7.   

    里面有好多DIV标签的最好用DOM,以下是一个例子:<?xml version="1.0" encoding="gb2312"?>
    <books>
    <book>
    <author>aa</author>
    <title>bb</title>
    <publisher>cc</publisher>
    </book>
    </books>
    p.php内容
    <?php
    $doc = new DOMDocument();
    $doc->load( 'x.xml' );$books = $doc->getElementsByTagName( "book" );
    foreach( $books as $book )
    {
    $authors = $book->getElementsByTagName( "author" );
    $author = $authors->item(0)->nodeValue;
    $publishers = $book->getElementsByTagName( "publisher" );
    $publisher = $publishers->item(0)->nodeValue;
    $titles = $book->getElementsByTagName( "title" );
    $title = $titles->item(0)->nodeValue;
    echo "$title - $author - $publisher\n";
    }
    ?>
      

  8.   

    用dom?我说的是html啊 不是xml