• ベストアンサー

phpはhtmlに埋め込んで?書けるんですよね?

phpはhtmlに埋め込んで?書けるんですよね? それはなぜですか?htmlがphpを受け入れるようにしてあるんですか?それともphpがhtmlを受け入れるようにしてあるんですか? Pythonや他の言語はhtmlの中に書き込めないんですか?

質問者が選んだベストアンサー

  • ベストアンサー
  • asciiz
  • ベストアンサー率70% (6803/9675)
回答No.2

HTML(を解釈するブラウザ)には、「知らないタグは無視する」というルールがあります。 例えば、 <TEKITOU-TAG>ABC</TEKITOU-TAG> とか書くと、そんなタグは知らないので、 ABC というテキストだけ表示されることになります。 さてそうすると。 PHPプログラムはHTML内に、 <?PHP echo "Hello"; ?> みたいに書きますよね。 これってHTML的に見ると、 <?PHP echo 'Hello; ?> っていう1つの知らないタグが書かれているだけなんです。 なので、ブラウザはこのタグを無視します。 このHTMLを直接ブラウザで開いた場合、何も表示されません。 一方、PHPの組み込まれているWebサーバでは、*.phpファイルのリクエストがあった際に、「<?PHP」で始まって「?>」で終わる部分をすべて抜き出し、1つのプログラムとして実行します。 実行した結果、タグのあった部分はそこに書いてあるPHPの標準出力で置き換えられます。 そうすると、先ほどの <?PHP echo 'Hello; ?> という部分は、 Hello というテキストに置換され、それがブラウザに送られた結果、「Hello」というテキストが表示される、ということになります。 PHPのHTML埋め込みはそんな原理で可能となっています。 >Pythonや他の言語はhtmlの中に書き込めないんですか? 同じように、Webサーバ側で「<?python」~「?>」内をpythonプログラムとして実行する、みたいなモジュールを開発すればHTML内組み込みができるかもしれません。 ただ、pythonは字下げ(インデント)でブロックを表しているので、HTMLに混ぜると非常に組みにくいことになりそうですね…。 phpやjavascriptは、フリーフォーマット言語(自分の好きなようにインデントできる)であるので、HTML内でも自由に書くことができます。

g5mokdra
質問者

お礼

ありがとうございます

その他の回答 (1)

  • 121CCagent
  • ベストアンサー率52% (15542/29865)
回答No.1

Webサーバ(NginxやApache)にPHPのモジュールが組み込まれているからでは?

g5mokdra
質問者

お礼

ありがとうございます サーバーにhtmlも組み込まれているんですか?

関連するQ&A