【发布时间】:2015-11-08 07:21:20
【问题描述】:
我有一个字符串,里面有一个图像:
"<img src="img/programacao/51.jpg" style="width:200px;" /><p>balbalba</p><img src="img/programacao/46.jpg" style="width:200px;" /><p>balbalba</p><img src="/img/finalCinerio.jpg"><p>balbalba</p><img src="img/topo.jpg" />"
我只需要图片文件夹:img/programacao/
但我的正则表达式不起作用:
preg_match_all('/<img.*?src="([^"]*)"[^>]*>(?:<img>)?/', $text, $image);
输出
...
[0] => img/topo.jpg
[1] => img/p_veneza.png
[2] => img/programacao/51.jpg
[3] => img/programacao/46.jpg
[4] => img/p_rio.png
[5] => /img/finalCinerio.jpg
[6] => img/rodape.jpg
...
但只需要它
...
[0] => img/programacao/51.jpg
[1] => img/programacao/46.jpg
...
【问题讨论】:
-
然后只需
preg_grep()所需子集的结果列表。 (否则为“您的”原始正则表达式添加前瞻。) -
为什么不直接使用 html 解析器?
标签: php html regex html-parsing preg-match-all