我是新的正则表达式。
我有一条短信:
$text =
'<ul style="list-style:none;">
<li>
<a href="files/docs/qwe.xls" target="_blank">Link1</a>
</li>
<li>
<a href="files/docs/ere.xls" target="_blank">Link2</a>
</li>
<li>
<a href="files/docs/123.xls" target="_blank">Link3</a>
</li>
</ul>';使用正则表达式,我希望得到以下数组:
$filePath[0] = "files/docs/qwe.xls";
$fileName[0] = "Link1";
$filePath[1] = "files/docs/ere.xls";
$fileName[1] = "Link2";
$filePath[2] = "files/docs/123.xls";
$fileName[2] = "Link3";我该怎么做呢?
谢谢。
发布于 2013-10-30 10:09:40
使用
$res = array();
preg_match_all('/href="(.+?)".*?>(.+?)<\/a>/ims', $text, $res);
var_dump($res);发布于 2013-10-30 10:12:34
您需要简单的正则表达式
检查这段代码
$match = array();
preg_match_all('#<a href="(.*?)">(.*?)</a>#sm', $text, $match);
print_r($match)(.*?) -意味着所有不贪婪的东西
发布于 2013-10-30 10:11:05
使用查找,他们是有用的检查是否有在字符串之前或之后,您正在寻找。以下是它的工作原理:
/(?<=href=")[^"]*(?=")/以下是它的含义:
/起始
(?<=href=")前有href="
[^"]*任何非"字符的数字
(?=")接"
/结束
https://stackoverflow.com/questions/19679180
复制相似问题