私のforeachループ内でif/elseステートメントを使用しようとしています。 DomDocumentではdescriptionタグとdescriptionタグの内側を探しています。Laravel foreach内のElseステートメント
これは問題なく動作します。 descriptionタグがあると、descriptionタグの内容を表示します。 descriptionタグがない場合は、No description found No description found No description found No description found
と表示されます。なぜ4回エラーが表示されますか?どのように私はこれを修正するのですか?
$meta = $dom->getElementsByTagName('meta');
マイコード:
@foreach ($meta as $node)
@if($node->getAttribute('name')=='description')
{{$node->getAttribute('content'), PHP_EOL}}
@else
{{'No description found'}}
@endif
@endforeach
編集、Muthu17によると:
私はメタタグDOMDOCUMENTとLaravel 5.4
を使用してい
私はあなたと同じコードを書きました。しかし、唯一の問題は、「何も見つからない」ということです。 descriptionタグが見つかったとしても、descriptionタグinitと "No description found"が表示されます。
コントローラに$showErrorMessage = 0;
と宣言しました。
@foreach ($meta as $node)
@if($node->getAttribute('name')=='description')
{{$node->getAttribute('content'), PHP_EOL}}
@else
{!! $showErrorMessage == 1; !!}
@endif
@endforeach
@if($showErrorMessage = 1)
{{'No description found'}}
@endif
のようなものを願っています{{$ノード}}が何を与えるのでしょうか? – pseudoanime
あなたのループには3つの項目があり、3つの項目には説明がありませんので、「説明が見つかりません」というメッセージが3回表示されます – Muthu17
@pseudoanimeお願いします。私は自分の投稿を更新しました! – itvba