0

可能重复:
如何使用 php 从 html 中提取 img src、title 和 alt?

我正在尝试解析网页并获取完整图像。例如

<html>

<body>
<a href='1.jpg'><img src='tn1.jpg /></a>
<a href='2.jpg'><img src='tn2.jpg /></a>
<a href='3.jpg'><img src='tn3.jpg /></a>
<a href='4.jpg'><img src='tn4.jpg /></a>
</body>
</html>

所以我试图捕捉它们以获得完整的缩略图:

1.jpg
2.jpg
3.jpg
4.jpg

我的 PHP 正则表达式代码是:

$text = file_get_contents($website); //Get webpage

preg_match_all("~$[0-9](.*?)\.jpg~i", $text, $matches);

但是当我运行它时,$matches 数组是空的,但路径在 webiste 中。我的正则表达式可能有什么问题?

信息:所有图像都遵循一种模式,并且都是数字后跟 .jpg

4

1 回答 1

2

我不建议使用正则表达式来解析 html,但如果您不想正确执行此操作,这里有一个正则表达式可以解决问题:/(?<=['"])\d+\.jpg/i

在这里演示:http ://regex101.com/r/xC8nP2

您的正则表达式的问题是滥用$-anchor。

于 2012-12-16T12:39:52.027 回答