从 html 元素获取图像源
Get image src from html element
在我的HTML里面我有这个<link rel="image_src" href="data/20/1.jpg" />
我需要检索 href (data/20/1.jpg
)。
我尝试了下面的代码,但没有成功
function fetch_rel($url)
{
$data = file_get_contents($url);
$dom = new DomDocument;
@$dom->loadHTML($data);
$xpath = new DOMXPath($dom);
# query metatags with og prefix
$metas = $xpath->query('//*/link[starts-with(@rel, \'image_src\')]');
$og = array();
foreach($metas as $meta){
# get property name without og: prefix
$property = str_replace('image_src', '', $meta->getAttribute('rel'));
# get content
$content = $meta->getAttribute('href');
$og[$property] = $content;
}
return $og;
}
$og = fetch_rel($u);
$image_src = $og['image_src'];
有什么建议吗?
我认为你犯了一个小错误:
您尝试访问 $og['image_src'];
,但您的数组没有索引 image_src
,因为您 将 image_src 替换为 ''.
你必须替换这一行:
# get property name without og: prefix <-- By the way: you have no og: prefix ;)
$property = str_replace('image_src', '', $meta->getAttribute('rel'));
用这个:
$property = $meta->getAttribute('rel');
在我的HTML里面我有这个<link rel="image_src" href="data/20/1.jpg" />
我需要检索 href (data/20/1.jpg
)。
我尝试了下面的代码,但没有成功
function fetch_rel($url)
{
$data = file_get_contents($url);
$dom = new DomDocument;
@$dom->loadHTML($data);
$xpath = new DOMXPath($dom);
# query metatags with og prefix
$metas = $xpath->query('//*/link[starts-with(@rel, \'image_src\')]');
$og = array();
foreach($metas as $meta){
# get property name without og: prefix
$property = str_replace('image_src', '', $meta->getAttribute('rel'));
# get content
$content = $meta->getAttribute('href');
$og[$property] = $content;
}
return $og;
}
$og = fetch_rel($u);
$image_src = $og['image_src'];
有什么建议吗?
我认为你犯了一个小错误:
您尝试访问 $og['image_src'];
,但您的数组没有索引 image_src
,因为您 将 image_src 替换为 ''.
你必须替换这一行:
# get property name without og: prefix <-- By the way: you have no og: prefix ;)
$property = str_replace('image_src', '', $meta->getAttribute('rel'));
用这个:
$property = $meta->getAttribute('rel');