- ベストアンサー
連続するecho関数の手間を省く方法
現在、PHPとCGIを平行して勉強しているのですが、 CGIは printf EOM<< ~ EOM<< のような形で関数1つだけで~の内容を出力できるのに、同様にPHPでやるとエラーになります。 こんな感じです。。。 <?php print EOM<< Content-Type:text/html\n\n; <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>ハロー!PHP!!</TITLE> </HEAD> <BODY> ハロー!PHP!! </BODY> </HTML> EOM<< ?>
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Content-Type:text/html\n\n;はheader関数を使ってHTTPヘッダとして送信する必要があると思います。 また、私はふだん、print <<<EOM ~ EOM;という形を使っています。printf EOM<< ~ EOM<<という形はPHPで使えるのでしょうか? ということで、以下のように書いてはどうでしょうか。 <?php header("Content-Type: text/html;"); print <<<EOM <HTML> <HEAD> <META http-equiv="Content-Type" content="text/html; charset=Shift_JIS"> <META http-equiv="Content-Style-Type" content="text/css"> <TITLE>ハロー!PHP!!</TITLE> </HEAD> <BODY> ハロー!PHP!! </BODY> </HTML> EOM; ?>
その他の回答 (1)
PHPから一度HTMLへエスケープすればどうかな? たとえば: <?php $c=$a+$b; ?> <html> <head> <body> <?php print "<h1>hello</h1>"; ?> </body> </html>
お礼
返事がおそくなり、すいません。 多忙でしばらくPHPの勉強ができませんでした。 久々に、CGIとPHPの勉強を同時に再開しようと思い、 早速試してみます。 ありがとうございました。