2017-02-13 16 views
0

Я пытаюсь получить метатег описания для моей системы SEO.PHP Получить описание тега DomDocument

Я использую Laravel 5,4

ScanController:

$description = $dom->getElementsByTagName('meta')->getAttribute('description'); 

индекс:

@foreach ($description as $node) 
{{$node->nodeValue, PHP_EOL}} 
@endforeach 

Я новичок в такого рода программирования так нужна помощь.

Решение:

Я нашел исправить!

@foreach ($description as $node) 
    @if($node->getAttribute('name')=='description') 
    {{$node->getAttribute('content'), PHP_EOL}} 
    @endif 
@endforeach 

Я специально искал эту линию:

@if($node->getAttribute('name')=='description') 

Благодаря M A Сиддики в комментариях, которые дали мне пинок в правильном направлении :)

ответ

0
$description = $dom->getElementsByTagName('meta'); 
@foreach ($description as $node) 
    @if ($node->hasAttribute('content')); 
     {{$node->getAttribute('content'), PHP_EOL}} 
    @endif 
    @else 
     {{ "No meta tag found with content attribute"}} 
@endforeach 

например.

<meta name="description" content="this is the meta description content" /> 

Вам нужно Foreach тег и получить атрибут и не nodeValue, я не очень хорошо в Laravel так близко @else я не знаю, как сделать это.

+0

Эй, спасибо за ваш ответ. Я пробовал это, но он все равно ничего не получает. Когда я меняю «описание» на «контент», он дает что-то, но не то, что я хочу. У вас есть другое решение? – itvba

+0

Привет, пожалуйста, просмотрите измененный ответ –

+0

Еще раз спасибо. Но он все еще не работает. Он просто говорит: «Метатег не найден ...», но есть метатег описания. Кроме того, если я меняю описание на контент, он загружает все метатеги. – itvba