2015-12-04 2 views
0

Внутри моего HTML у меня есть это <link rel="image_src" href="data/20/1.jpg" />Получить SRC изображения из элемента HTML

Мне нужно, чтобы получить 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']; 

Есть предложения?

+1

Не могли бы вы показать пример ввода и вывода, как должен выглядеть? – uruloke

ответ

1

Я думаю, что вы сделали только маленькую ошибку:

Вы пытаетесь получить доступ к $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'); 
Смежные вопросы