求个简单的PHP正则匹配。
时间:2021-07-01 10:21:17
帮助过:12人阅读
- [动漫同人] 宠物小精灵黑... 正文 第二十二... 2826/18/0 一鼎 13-08-29 14:55
- [青春校园] 那年雪花在飘... 正文 真诚璃茉... 202/5/0 蕾娜莎 13-08-29 14:55
以上代码中我只想要(.*)和这个格式一样的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);
那直接写就是了
#(.*)#
- [动漫同人] 宠物小精灵黑... 正文 第二十二... 2826/18/0 一鼎 13-08-29 14:55
- [青春校园] 那年雪花在飘... 正文 真诚璃茉... 202/5/0 蕾娜莎 13-08-29 14:55
以上代码中我只想要(.*)和这个格式一样的URL。这正则怎么写。
以下是我写的,
$html=file_get_contents($setting['book_url']);
$k='/';
$k.='(.*)(.*)<\/a>(.*)';
$k.='<\/ul>/isU';
preg_match_all($k,$html,$rs);
没有匹配到地址
那是当然啦你的正则表达式是‘/(.*)(.*)<\/a>(.*)<\/ul>/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数组
#(.*)#