2017-02-13 6 views
0

Ich versuche, die Beschreibung Meta-Tag für mein SEO-System zu bekommen.PHP Get beschreibung tag DomDocument

Ich verwende Laravel 5.4

Scancontroller:

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

Index:

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

ich auf diese Art der Programmierung neu bin so Hilfe benötigen.

Lösung:

fand ich das Update!

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

suchte ich besonders für diese Linie:

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

Dank M A SIDDIQUI in den Kommentaren, die mir einen Tritt in die richtige Richtung gab :)

Antwort

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 

zB.

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

Sie müssen den Tag foreach und das Attribut zu erhalten und nicht die nodeValue, ich bin nicht viel Gutes in Laravel so nah @else ich weiß nicht, wie das zu tun.

+0

Hey, danke für deine Antwort.Ich habe es versucht, aber es bekommt immer noch nichts. Wenn ich "Beschreibung" zu "Inhalt" ändere, gibt es etwas, aber nicht das, was ich möchte. Hast du eine andere Lösung? – itvba

+0

Hallo bitte schauen Sie auf geänderte Antwort –

+0

Danke nochmal. Aber es funktioniert immer noch nicht. Es sagt nur "Kein Meta-Tag gefunden ...." aber es gibt ein Meta-Description-Tag. Wenn ich die Beschreibung in den Inhalt ändere, werden auch alle Meta-Tags geladen. – itvba