首页 >后端开发 >php教程 >求个简单的PHP正则匹配。

求个简单的PHP正则匹配。

WBOY
WBOY原创
2016-06-23 14:20:46806浏览

 <ul class="main_con">                                        <li>                        <span class="kind"><a href="http://book.zongheng.com/store/c21/c1210/b9/u0/p1/v9/s9/t0/ALL.html" title="动漫同人" target="_blank">[动漫同人]</a></span>                        <span class="chap">                                                                <a href="http://book.zongheng.com/book/299149.html" class="fs14" title="宠物小精灵黑白2" target="_blank">宠物小精灵黑...</a>                                                                                                                <a href="http://book.zongheng.com/chapter/299149/5188596.html" title="正文 第二十二章  暗涌!" target="_blank">正文 第二十二...</a>                                                                                                                        </span>                        <span class="number">                            2826/18/0                        </span>                        <span class="author"><a href="http://home.zongheng.com/show/userInfo/10996625.html" title="一鼎" target="_blank">一鼎</a></span>                        <span class="time">13-08-29 14:55</span>                    </li>                                        <li>                        <span class="kind"><a href="http://book.zongheng.com/store/c31/c3106/b9/u0/p1/v9/s9/t0/ALL.html" title="青春校园" target="_blank">[青春校园]</a></span>                        <span class="chap">                                                                <a href="http://www.mmzh.com/book/280776.html" class="fs14" title="那年雪花在飘,谁在忧伤?" target="_blank">那年雪花在飘...</a>                                                                                                                <a href="http://book.zongheng.com/chapter/280776/5188594.html" title="正文 真诚璃茉与夜落雪的暗斗" target="_blank">正文 真诚璃茉...</a>                                                                                                                        </span>                        <span class="number">                            202/5/0                        </span>                        <span class="author"><a href="http://home.zongheng.com/show/userInfo/9854181.html" title="蕾娜莎" target="_blank">蕾娜莎</a></span>                        <span class="time">13-08-29 14:55</span>                    </li>


以上代码中我只想要(.*)和这个格式一样的URL。这正则怎么写。






以下是我写的,
                  $html=file_get_contents($setting['book_url']);
$k='/

    ';
    $k.='(.*)(.*)(.*)';
    $k.='/isU';
    preg_match_all($k,$html,$rs);
    没有匹配到地址

    回复讨论(解决方案)

    preg_match_all('#(.*?)#i',$html,$rs);

    那直接写就是了
    #(.*)#

     <ul class="main_con">                                        <li>                        <span class="kind"><a href="http://book.zongheng.com/store/c21/c1210/b9/u0/p1/v9/s9/t0/ALL.html" title="动漫同人" target="_blank">[动漫同人]</a></span>                        <span class="chap">                                                                <a href="http://book.zongheng.com/book/299149.html" class="fs14" title="宠物小精灵黑白2" target="_blank">宠物小精灵黑...</a>                                                                                                                <a href="http://book.zongheng.com/chapter/299149/5188596.html" title="正文 第二十二章  暗涌!" target="_blank">正文 第二十二...</a>                                                                                                                        </span>                        <span class="number">                            2826/18/0                        </span>                        <span class="author"><a href="http://home.zongheng.com/show/userInfo/10996625.html" title="一鼎" target="_blank">一鼎</a></span>                        <span class="time">13-08-29 14:55</span>                    </li>                                        <li>                        <span class="kind"><a href="http://book.zongheng.com/store/c31/c3106/b9/u0/p1/v9/s9/t0/ALL.html" title="青春校园" target="_blank">[青春校园]</a></span>                        <span class="chap">                                                                <a href="http://www.mmzh.com/book/280776.html" class="fs14" title="那年雪花在飘,谁在忧伤?" target="_blank">那年雪花在飘...</a>                                                                                                                <a href="http://book.zongheng.com/chapter/280776/5188594.html" title="正文 真诚璃茉与夜落雪的暗斗" target="_blank">正文 真诚璃茉...</a>                                                                                                                        </span>                        <span class="number">                            202/5/0                        </span>                        <span class="author"><a href="http://home.zongheng.com/show/userInfo/9854181.html" title="蕾娜莎" target="_blank">蕾娜莎</a></span>                        <span class="time">13-08-29 14:55</span>                    </li>


    以上代码中我只想要(.*)和这个格式一样的URL。这正则怎么写。






    以下是我写的,
                      $html=file_get_contents($setting['book_url']);
    $k='/

      ';
      $k.='(.*)(.*)(.*)';
      $k.='/isU';
      preg_match_all($k,$html,$rs);
      没有匹配到地址
      那是当然啦你的正则表达式是‘/
        (.*)(.*)(.*)/isU’
          之后的.*不匹配换行符,而html代码中
            后面有若干空格还有换行符
            要是你想获取class="main_con"的ul里面的
              的话建议你用jquery处理,它提供了多种选择器,类选择器,属性选择器...

            test.php
            $str=     


                                   
                                  

            •                         [动漫同人]
                                      
                                           
                                                  宠物小精灵黑...
                                                   
                                                   
                                                      正文 第二十二...
                                                   
                                               
                                           
                                      

                                      
                                          2826/18/0
                                      

                                      一鼎
                                      13-08-29 14:55
                                  

            •                      
                                  

            •                         [青春校园]
                                      
                                           
                                                  那年雪花在飘...
                                                   
                                                   
                                                      正文 真诚璃茉...
                                                   
                                               
                                           
                                      

                                      
                                          202/5/0
                                      

                                      蕾娜莎
                                      13-08-29 14:55
                                  

            •                     
              html;
                             
                 $pattern="/    
                 preg_match_all($pattern,$str,$matches);
                 var_dump($matches[1]);
              ?>
              $matches[1]就是你要的url数组

              #(.*)#

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn