文章目录[隐藏]
<ul class="main_con"> <li> <span class="kind">[动漫同人]</span> <span class="chap"> 宠物小精灵黑... 正文 第二十二... </span> <span class="number"> 2826/18/0 </span> <span class="author">一鼎</span> <span class="time">13-08-29 14:55</span> </li> <li> <span class="kind">[青春校园]</span> <span class="chap"> 那年雪花在飘... 正文 真诚璃茉... </span> <span class="number"> 202/5/0 </span> <span class="author">蕾娜莎</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">[动漫同人]</span> <span class="chap"> <i>*本5文来源gaodai$ma#com搞$$代**码)网@</i><img>搞代码gaodaima</img> 宠物小精灵黑... 正文 第二十二... </span> <span class="number"> 2826/18/0 </span> <span class="author">一鼎</span> <span class="time">13-08-29 14:55</span> </li> <li> <span class="kind">[青春校园]</span> <span class="chap"> 那年雪花在飘... 正文 真诚璃茉... </span> <span class="number"> 202/5/0 </span> <span class="author">蕾娜莎</span> <span class="time">13-08-29 14:55</span> </li>
以上代码中我只想要(.*)和这个格式一样的URL。这正则怎么写。
以下是我写的,
$html=file_get_contents($setting[‘book_url’]);
$k=’/
- ‘;
- [动漫同人]
宠物小精灵黑…
正文 第二十二…
2826/18/0
13-08-29 14:55 - [青春校园]
那年雪花在飘…
正文 真诚璃茉…
202/5/0
13-08-29 14:55
$k.='(.*)(.*)<\/a>(.*)’;
$k.='<\/ul>/isU’;
preg_match_all($k,$html,$rs);
没有匹配到地址
那是当然啦你的正则表达式是‘/
- (.*)(.*)<\/a>(.*)<\/ul>/isU’
- 之后的.*不匹配换行符,而html代码中
- 后面有若干空格还有换行符
要是你想获取class=”main_con”的ul里面的 的话建议你用jquery处理,它提供了多种选择器,类选择器,属性选择器…
test.php
<?php
$str=<<<html
html;
$pattern=”/
preg_match_all($pattern,$str,$matches);
var_dump($matches[1]);
?>
$matches[1]就是你要的url数组
#(.*)#