【发布时间】:2011-10-19 05:36:00
【问题描述】:
我使用preg_match 和$pattern = '/src="http:\/\/(.*?).jpg"/s'; 模式从网页上抓取jpeg 图像的网址。但是,这还不够准确,因为它还抓取了http://www.domain.com/image.png"> Yadayada <img src="anotherpic.jpg。
其他时候,它会抓取像
这样的东西http://maps.google.com/maps/api/staticmap?center=42.34,-71.18&amp;path=weight:4|42.338,-71.177|42.338,-71.183|42.342,-71.183|42.342,-71.177|42.338,-71.177&amp;zoom=15&amp;size=335x225&amp;sensor=false" width="280" height="188" alt=""></td></tr> <tr><td height="10"></td></tr></table></td></tr></table></td></tr><tr><td height="10 valign="> </td></tr><tr><td valign="top" background="http://www.coolapartments.info/img/java-footer_bg.jpg
如何改进模式以防止像上面 2 个示例那样不必要的匹配?
【问题讨论】:
-
@erisco 不值得一提,因为有趣的答案是错误的。
-
丢弃发生的整个讨论的奇怪标准。
-
@erisco 没有人阅读发生的讨论。现在,该答案仅用于使用正则表达式问题解决所有解析 html。为此,我们有更好的规范。
-
哦,我明白了。然后看这里:stackoverflow.com/questions/3577641/…
标签: php regex screen-scraping preg-match