проверка, существует ли метатег или нет перед объявлением переменной с php - PullRequest
0 голосов
/ 05 апреля 2020

У меня есть весь локоть и все, что возвращает свойства og. Проблема, которую я имею, - это все, что я пытаюсь убедиться, что тег действительно существует или не работает. Я получаю тэг изображения примерно так:

    if($meta->getAttribute('property') == 'og:image') 

Как я могу определить, существует ли на самом деле getAttribute, прежде чем я создаю переменную, вот так

         $img = $meta->getAttribute('content');

все, что я пытаюсь, просто выдает php ошибки

хорошо, вот копия моего полного кода

function file_get_contents_curl($url)
{
$ch = curl_init();
$useragent = 'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:27.0) Gecko/20100101 
 Firefox/27.0'; 

curl_setopt($ch, CURLOPT_HEADER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent); 
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);

$data = curl_exec($ch);
curl_close($ch);

return $data;
}

$html = file_get_contents_curl($location);

//parsing begins here:
$doc = new DOMDocument();
@$doc->loadHTML($html);
$nodes = $doc->getElementsByTagName('title');

//get and display what you need:
$title = $nodes->item(0)->nodeValue;

 $metas = $doc->getElementsByTagName('meta');

 for ($i = 0; $i < $metas->length; $i++)
 {
$meta = $metas->item($i);

if($meta->getAttribute('name') == 'description')
    $description = $meta->getAttribute('content');

if($meta->getAttribute('name') == 'keywords')
    $keywords = $meta->getAttribute('content');

if($meta->getAttribute('property') == 'og:image') 
$img = $meta->getAttribute('content');
 }

хорошо, позвольте мне объяснить мою проблему, я получаю изображение, но если метатег изображения не существует, он выдает ошибку, которую я пробовал isset я пробовал ноль я пробовал так много вещей, что даже не помню их всех

...