Я пытаюсь использовать php для получения метаданных, таких как og: image, title или description.
Я использую этот код:
<?php
$sites_html = file_get_contents($url);
$html = new DOMDocument();
@$html->loadHTML($sites_html);
$meta_og_img = null;
//Get all meta tags and loop through them.
foreach($html->getElementsByTagName('meta') as $meta) {
//If the property attribute of the meta tag is og:image
if($meta->getAttribute('property')=='og:image'){
//Assign the value from content attribute to $meta_og_img
$meta_og_img = $meta->getAttribute('content');
}
}
echo $meta_og_img;
?>
Когда я использую этот URL(https://www.elmundo.es/papel/2019/01/28/5c4ed8effc6c83d2718b4605.html) работает отлично, но когда я его использую (https://andresmartin.org/2016/09/mindfulness-la-fibromialgia-mirar-dolor-amabilidad-alivia-malestar-reduce-dolor/), я получаю ошибку.
Как я могу избежать этой ошибки? И если это невозможно сделать, какя могу получить метаданные другим методом?
Я думаю, что это не важно, но я использую laravel.
РЕДАКТИРОВАТЬ: Вот скриншот ошибки https://pasteboard.co/HYPI7KV.png