> 백엔드 개발 > PHP 튜토리얼 > 求个简单的PHP正则匹配。

求个简单的PHP正则匹配。

WBOY
풀어 주다: 2016-06-23 14:20:46
원래의
820명이 탐색했습니다.

 <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.='(.*)(.*)<\/a>(.*)';
    $k.='<\/ul>/isU';
    preg_match_all($k,$html,$rs);
    没有匹配到地址


    回复讨论(解决方案)

    preg_match_all('#(.*?)<\/a>#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数组

              #(.*)#

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿