ヒアドキュメントでHTML分を出力する [PHP]
複数行あるHTMLタグをヒアドキュメントを使って出力する
phpでHTML分を出力する場合、ヒアドキュメントを使うと便利です。
下記が簡単なサンプルです
<?php $html = <<<EOD <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>Test Page</title> </head> <body> <h1>Test Page</h1> <p>ヒアドキュメントで、<br> テキスト出力するサンプル</p> </body> </html> EOD; echo $html; ?>
ブラウザでアクセスすると以下のような感じで出力されます
「EOD」で囲まれた部分がHTMLタグとして扱われます。また、改行やタブをそのまま扱われます。
ヒアドキュメントを扱う場合にエラーになるケース
ヒアドキュメントを使う場合にエラーになるケースがあります。
EOD ; echo $html;
上記のように、「EOD」と「;」の間にスペースが有る場合は、以下のようなエラーになります
PHP Parse error: syntax error, unexpected end of file in /var/www/html/test.php on line 21
また、「EOD;」の前にタグを入れた場合も同じようなエラーになります
EOD ; echo $html;
PHP Parse error: syntax error, unexpected end of file in /var/www/html/test.php on line 21
上記のエラーの場合は、以下のような原因でエラーとなっています
- 「EOD」と「;」の間には、空白、タブ、制御コードを入れてはいけない
- 「EOD;」の前にはタブやスペースなどでインデントを入れてはいけない
ディスカッション
コメント一覧
まだ、コメントがありません