Home >Backend Development >PHP Tutorial >求个简单的PHP正则匹配。

求个简单的PHP正则匹配。

WBOY
WBOYOriginal
2016-06-23 14:20:46806browse

 <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数组

              #(.*)#

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn