首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用php从html页面中提取图像url

问用php从html页面中提取图像url
EN

Stack Overflow用户
提问于 2013-07-03 18:05:07
回答 3查看 5.5K关注 0票数 6

如何使用php从此链接中提取帖子图像?

我读到我不能用正则表达式做这件事。

http://www.huffingtonpost.it/2013/07/03/stupri-piazza-tahrir-durante-proteste-anti-morsi_n_3538921.html?utm_hp_ref=italy

非常感谢。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2013-07-03 18:22:18

代码语言:javascript
复制
$content=file_get_contents($url);
if (preg_match("/<img.*src=\"(.*)\".*class=\".*pinit\".*>/", $content, $matches)) 
{
echo "Match was found <br />";
echo $matches[0];
}

$matches将打印整个图像标记。如果您只想提取网址,那么您可以使用$matches1来获得相同的:)

票数 4
EN

Stack Overflow用户

发布于 2013-07-03 18:26:25

你可以也必须用DOM解析你的html,下面是你的例子:

代码语言:javascript
复制
$curlResource = curl_init('http://www.huffingtonpost.it/2013/07/03/stupri-piazza-tahrir-durante-proteste-anti-morsi_n_3538921.html?utm_hp_ref=italy');
curl_setopt($curlResource, CURLOPT_RETURNTRANSFER, true);
curl_setopt($curlResource, CURLOPT_FOLLOWLOCATION, true);
curl_setopt($curlResource, CURLOPT_AUTOREFERER, true);

$page = curl_exec($curlResource);
curl_close($curlResource);


$domDocument = new DOMDocument();
$domDocument->loadHTML($page);

$xpath = new DOMXPath($domDocument);

$urlXpath = $xpath->query("//img[@id='img_caption_3538921']/@src");

$url = $urlXpath->item(0)->nodeValue;

echo $url;

花点时间学习一些DOM和XPATH,这是值得的。

票数 1
EN

Stack Overflow用户

发布于 2013-07-03 20:56:17

试试这个。

代码语言:javascript
复制
$content=file_get_contents($url);
if (preg_match("/src=[\"\'][^\'\']+[\"\']/", $content, $matches)) 
{
    echo "Match was found <br />";
    echo $matches[0];
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17445111

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档