首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > PHP >

求个容易的PHP正则匹配

2013-10-19 
求个简单的PHP正则匹配。 ul classmain_conlispan classkinda hrefhttp://book.zongheng.co

求个简单的PHP正则匹配。

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



以上代码中我只想要<a href="(.*)" class="fs14" title="(.*)" target="_blank">(.*)</a>和这个格式一样的URL。这正则怎么写。






以下是我写的,
                  $html=file_get_contents($setting['book_url']);
$k='/<ul class="main_con">';
$k.='(.*)<a href="http:\/\/book.zongheng.com\/book\/(.*)" class(.*)>(.*)<\/a>(.*)';
$k.='<\/ul>/isU';
preg_match_all($k,$html,$rs);
没有匹配到地址
[解决办法]
preg_match_all('#<a href="(.*?)" class="fs14" title="(.*?)" target="_blank">(.*?)<\/a>#i',$html,$rs);
[解决办法]
那直接写就是了
#<a href="(.*)" class="fs14" title="(.*)" target="_blank">(.*)</a>#
[解决办法]
引用:
 <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>



以上代码中我只想要<a href="(.*)" class="fs14" title="(.*)" target="_blank">(.*)</a>和这个格式一样的URL。这正则怎么写。






以下是我写的,
                  $html=file_get_contents($setting['book_url']);
$k='/<ul class="main_con">';
$k.='(.*)<a href="http:\/\/book.zongheng.com\/book\/(.*)" class(.*)>(.*)<\/a>(.*)';


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


那是当然啦你的正则表达式是‘/<ul class="main_con">(.*)<a href="http:\/\/book.zongheng.com\/book\/(.*)" class(.*)>(.*)<\/a>(.*)<\/ul>/isU’
<ul class="main_con">之后的.*不匹配换行符,而html代码中<ul class="main_con">后面有若干空格还有换行符
要是你想获取class="main_con"的ul里面的<a>  </a>的话建议你用jquery处理,它提供了多种选择器,类选择器,属性选择器...
[解决办法]
test.php
<?php
$str=<<<html
    <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 alt="求个容易的PHP正则匹配" />

[解决办法]
#<a href="(.*)" class="fs14" title="(.*)" target="_blank">(.*)</a>#

热点排行