ヒアドキュメントで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;
?>
<?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;
?>
<?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 ;
echo $html;
EOD ; echo $html;
上記のように、「EOD」と「;」の間にスペースが有る場合は、以下のようなエラーになります
PHP Parse error: syntax error, unexpected end of file in /var/www/html/test.php on line 21
PHP Parse error: syntax error, unexpected end of file in /var/www/html/test.php on line 21
PHP Parse error: syntax error, unexpected end of file in /var/www/html/test.php on line 21
また、「EOD;」の前にタグを入れた場合も同じようなエラーになります
EOD ;
echo $html;
EOD ;
echo $html;
EOD ; echo $html;
PHP Parse error: syntax error, unexpected end of file in /var/www/html/test.php on line 21
PHP Parse error: syntax error, unexpected end of file in /var/www/html/test.php on line 21
PHP Parse error: syntax error, unexpected end of file in /var/www/html/test.php on line 21
上記のエラーの場合は、以下のような原因でエラーとなっています
- 「EOD」と「;」の間には、空白、タブ、制御コードを入れてはいけない
- 「EOD;」の前にはタブやスペースなどでインデントを入れてはいけない
ディスカッション
コメント一覧
まだ、コメントがありません