输入:http://tieba.baidu.com/
我抓取该网页中的 href="http://tieba.baidu.com/f?kz=931019809 和 金庸影视剧中最美百位美女明星<ul class="order">
<li><span class="num color">1</span><a target="_blank" href="http://tieba.baidu.com/f?kz=931019809">金庸影视剧中最美百位美女明星</a></li>
<li><span class="num color">2</span><a target="_blank" href="http://tieba.baidu.com/f?kz=927639142">夜场生活:酸甜苦辣自己体会</a></li>
<li><span class="num color">3</span><a target="_blank" href="http://tieba.baidu.com/f?kz=936381484">高中女生小米讲述在美国的生活</a></li>
<li><span class="num">4</span><a target="_blank" href="http://tieba.baidu.com/f?kz=935954137">Dota悬疑志之《消失的冰女》</a></li>
<li><span class="num">5</span><a target="_blank" href="http://tieba.baidu.com/f?kz=930201383">我那造孽的十五次游戏“婚姻”</a></li>
<li><span class="num">6</span><a target="_blank" href="http://tieba.baidu.com/f?kz=937865853">讲述中国108个太监的风云人生</a></li>
<li><span class="num">7</span><a target="_blank" href="http://tieba.baidu.com/f?kz=932905377">90后图文:活着,在这孤独城市</a></li>
<li><span class="num">8</span><a target="_blank" href="http://tieba.baidu.com/f?kz=949269489">留学新西兰,细数那些新西兰妹子</a></li>
</ul>$line 是从数据库中读出:http://tieba.baidu.com/$patternurl ="|<ul><li>(.*)(href=http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?)(.*)<\/li><\/ul>|ims";
        if(preg_match($patternurl,$line,$out)){
            var_dump($out);
            echo 'aaaaaaaaa';
            fclose($file);
        }

解决方案 »

  1.   


    $patternurl ="|<ul><li>(.*)(href=http://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?)(.*)<\/li><\/ul>|ims";
            if(preg_match($patternurl,$line,$out)){
                var_dump($out);
                echo 'aaaaaaaaa';
                fclose($file);
            }
    这样写不执行 是什么原因
      

  2.   

    打开网页 网页中存在url  获取网页中的 url和标题  
    有经验的同志们 发表一下 意见  谢谢啦!!!
      

  3.   

    不解释!$ct = file_get_contents('1.txt');
    //<li><span class="num color">1</span><a target="_blank" href="http://tieba.baidu.com/f?kz=931019809">金庸影视剧中最美百位美女明星</a></li>
    preg_match_all("/<li><span[^>]+>\d<\/span><a[^>]+?href=\"([^\"]+)\">([^<]+)<\/a><\/li>/",$ct,$match);print_r($match);
      

  4.   

    <ul class="order">
    <li><span class="num color">1</span><a target="_blank" href="http://tieba.baidu.com/f?kz=931019809">金庸影视剧中最美百位美女明星</a></li>
    <li><span class="num color">2</span><a target="_blank" href="http://tieba.baidu.com/f?kz=927639142">夜场生活:酸甜苦辣自己体会</a></li>
    <li><span class="num color">3</span><a target="_blank" href="http://tieba.baidu.com/f?kz=936381484">高中女生小米讲述在美国的生活</a></li>
    <li><span class="num">4</span><a target="_blank" href="http://tieba.baidu.com/f?kz=935954137">Dota悬疑志之《消失的冰女》</a></li>
    <li><span class="num">5</span><a target="_blank" href="http://tieba.baidu.com/f?kz=930201383">我那造孽的十五次游戏“婚姻”</a></li>
    <li><span class="num">6</span><a target="_blank" href="http://tieba.baidu.com/f?kz=937865853">讲述中国108个太监的风云人生</a></li>
    <li><span class="num">7</span><a target="_blank" href="http://tieba.baidu.com/f?kz=932905377">90后图文:活着,在这孤独城市</a></li>
    <li><span class="num">8</span><a target="_blank" href="http://tieba.baidu.com/f?kz=949269489">留学新西兰,细数那些新西兰妹子</a></li>
    </ul>
    $url = 'http://tieba.baidu.com/';
    $tempStr = mb_convert_encoding(file_get_contents($url),'UTF-8','GB2312');
    $patStr = '/<li><\s*([0-9a-z]+)\s*[^>]*>\s*[0-9]{1,}\s*<\s*\/\s*\\1><\s*a\s*[^>]*\s*href=(\'|\")http:\/\/tieba\.baidu\.com\/f\?kz=[0-9]+\\2\s*>([^<]+)<\s*\/\s*a\s*>\s*<\s*\/\s*li\s*>/i';
    if (preg_match_all($patStr,$tempStr,$arr_match)) {
       print_r($arr_match);

      

  5.   

    上面heyc1998同学也是对的我把你的稍微改了下,肯定可以用$patternurl ='/<li><span[^>]*?>\d+<\/span><a[^>]*?\s*href="(.*?)">(.*?)<\/a><\/li>/is';
            if(preg_match($patternurl,$line,$out)){
                var_dump($out);
                echo 'aaaaaaaaa';
                fclose($file);
            }