我正在尝试为我的SEO系统获取描述元标记。
我正在使用 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 SIDDIQUI给了我一个正确的方向:)
答案 0 :(得分: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" />
你需要预先标记并获取属性而不是nodeValue,我不太喜欢laravel如此接近@else我不知道该怎么做。