从 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');