首页 > 后端开发 > php教程 > 请问我这个正则为什么匹配不到呢?

请问我这个正则为什么匹配不到呢?

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-23 14:06:47
原创
1044 人浏览过

$newstext='<li style="margin: 0px 20px 0px 0px; padding: 0px; list-style-type: none; float: left; text-align: center; line-height: 20px; width: 120px; height: 114px; overflow: hidden; "><a class="gaga" href="http://www.clvyou.com/jingdiafasdfsadfadsadsn/10063.html" title="长江三峡豪华游轮维多利亚凯珍号" target="_blank" style="margin: 0px; padding: 0px; text-decoration: none; color: rgb(0, 0, 0); "><img src="http://www.clvyou.com/d/file/titlepic/jingdia10063.jpg" alt="长江三峡豪华游轮维多利亚凯珍号"   style="max-width:90%" /><br style="margin: 0px; padding: 0px; " />长江三峡豪华游轮维多利亚凯珍号</a></li>';//$newstext='fasdadsafsasdasf<a title="gga" href="http://www.baidu.com">百度</a>fadsfadsfadsf<a href=\'http://www.baidu.com\' target="_blank">百度</a>fadsfadsfads';可以匹配这样的,但是上面的就匹配不到preg_match_all('/<a.+href=["|\'](.*)["|\'].*>(.*)<\/a>/iU',$newstext,$result);print_r($result);exit;
登录后复制


回复讨论(解决方案)

找到问题了,a标签里有换行,要把.*改成[\s\S]*
正确如下:
preg_match_all('/([\s\S]*)/iU',$newstext,$result);

得到
Array
(
    [0] => Array
        (
            [0] => 请问我这个正则为什么匹配不到呢?
长江三峡豪华游轮维多利亚凯珍号

        )

    [1] => Array
        (
            [0] =>  http://www.clvyou.com/jingdiafasdfsadfadsadsn/10063.html
        )

    [2] => Array
        (
            [0] =>  请问我这个正则为什么匹配不到呢?
长江三峡豪华游轮维多利亚凯珍号
        )

)

不就是你想要的吗?

如果a链接里有换行不行的

/(.*)/i sU
就可以了

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
nginx location 匹配问题
来自于 1970-01-01 08:00:00
0
0
0
正则表达式 - 在python中怎么匹配IP地址
来自于 1970-01-01 08:00:00
0
0
0
nginx 配置
来自于 1970-01-01 08:00:00
0
0
0
nginx错误:重写或内部重定向循环
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板