php正则匹配怎么写?

代码如下:<?php$arr=array();$a="<li><asrc='http://www.baidu.com'></a></li>";preg_match("/<... 代码如下:
<?php
$arr = array();
$a = "<li><a src='http://www.baidu.com'></a></li>";
preg_match("/<a src.*?>/", $a, $arr);
print_r($arr);
?>
为什么我匹配不出<a src='http://www.baidu.com'>?
网上的正则表达式在线测试可以匹配出来啊,为什么到我这里就不行?
展开
 我来答
Zjmainstay
推荐于2016-11-11 · 知道合伙人互联网行家
Zjmainstay
知道合伙人互联网行家
采纳数:580 获赞数:1129
http://www.zjmainstay.cn

向TA提问 私信TA
展开全部
首先,这段代码是没有问题的。

你那里匹配不到可能是因为你的$a并不是你提供的这一段,而是其他的带有换行的字符串。

解决换行的方法是使用模式修正符s,得到:

preg_match("/<a src.*?>/s", $a, $arr);

另外,看情况,可以追加一个模式修正符i,不区分大小写。
追问

没有其他的代码了,就是这几行,$a就是这一段。这几行代码,没有匹配出来,是有问题的。代码运行后显示的是空数组。如下图:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式