PHP HTMLの改行タグとソースの改行の違いについて。

PHPはサーバー側で拡張子が「.php」のファイルを解釈して実行し、クライアントであるブラウザにはHTMLを返します。

ブラウザは送られてきたHTMLを解釈して表示しますが、「HTMLの改行タグ」と「ソースの改行」は異なることに注意してください。

PHPのソースコードにはこの2つを混在して書くことになりますので、プログラムが簡単なうちに違いをつかんでください。


【1】test フォルダの中に sample003.php を新たに作成します。

php-31.gif

*「\」はWindowsではエンマークのことです。

保存先 C:\phpdev\www\test
ファイル名 sample003.php

<html>
  <head>
    <title>sample003</title>
  </head>
  <body>
    <?php
      $a = "あいうえお";
      $b = "かきくけこ";
      print($a);
      print($b);
    ?>
  </body>
</html>



【2】C:\phpdev にある 2K-NT-XP-phpdev_start.bat をダブルクリックして、phpdev を起動します。

php-02.gif

準備ができたら作成したPHPプログラムを実行してみましょう。


【3】ブラウザのアドレスに http://localhost/test/sample003.php と入力し、実行します。画面に文字列が表示されていますが、「あ行」と「か行」がつながっています。

php-30.gif


【4】次は改行してみましょう。test フォルダの中に sample004.php を新たに作成します。

保存先 C:\phpdev\www\test
ファイル名 sample004.php

<html>
  <head>
    <title>sample004</title>
  </head>
  <body>
    <?php
      $a = "あいうえお";
      $b = "かきくけこ";
      print($a."<br />");
      print($b);
    ?>
  </body>
</html>



【5】ブラウザのアドレスに http://localhost/test/sample004.php と入力し、実行します。ブラウザの画面上は改行できました。

php-32.gif


【6】画面上でマウスを右クリックしてメニューを表示し、「ソースの表示」を選択します。

php-33.gif

*ソースの表示は何度も使いますので覚えてください。


【7】ソースが表示されましたが、ソース上は改行されていないことを確認してください。

php-34.gif


【8】次はソースの改行です。test フォルダの中に sample005.php を新たに作成します。

保存先 C:\phpdev\www\test
ファイル名 sample005.php

<html>
  <head>
    <title>sample005</title>
  </head>
  <body>
    <?php
      $a = "あいうえお";
      $b = "かきくけこ";
      print($a."<br />\n");
      print($b."\n");
    ?>
  </body>
</html>



【9】ブラウザのアドレスに http://localhost/test/sample005.php と入力し、実行します。ブラウザの画面は前と変わりません。

php-35.gif


【10】ソースを見ると改行されています。しかしインデント(字下げ)はズレています。

php-36.gif


【11】次はインデントも加えます。test フォルダの中に sample006.php を新たに作成します。

保存先 C:\phpdev\www\test
ファイル名 sample006.php

<html>
  <head>
    <title>sample006</title>
  </head>
  <body>
    <?php
      $a = "あいうえお";
      $b = "かきくけこ";
      print($a."<br />\n");
      print("\t\t".$b."\n");
    ?>
  </body>
</html>



【12】ブラウザのアドレスに http://localhost/test/sample006.php と入力し、実行します。ブラウザの画面は前と変わりません。

php-37.gif


【13】ソースを見るとインデントが揃いました。

php-38.gif


【解説】

(1)PHPでは文字列をつなぐときには「.」ドットを使います。またHTMLのソースを改行するには、「\n」を使います。「\n」も文字として扱いますので、「"」ダブルクォーテーションの中に書きます。
print($a."<br />\n")

*「\」はWindowsではエンマークのことです。


(2)HTMLの改行は <br /> です。極端な話、以下のようにHTMLのソースにはまったく改行がなく一行で書いても、ブラウザの画面表示には影響しません。ただソースが読み難いだけです。


<html><head><title>sample006</title></head><body>あいうえお<br />かきくけこ</body></html>



(3)ブラウザに送られてくるのはPHPの実行結果ですから、HTMLのソースには <br /> は表示されますが、 \n は表示されません。


(4)インデントは揃っていたほうがわかりやすいですが、そのために「\t」を入れるとプログラムが読みにくくなるのでなくてもかまいません。


PHPで書いたプログラムが正しいかどうか確認するためには、返ってきたHTMLのソースを調べます。その時、ソースが改行されていたほうが分かりやすいです。

HTMLは開始タグと終了タグのペアで記述していきますが、ソースが改行されていないと、ペアになるタグがわかり難く、抜けてしまう原因になります。

開始タグと終了タグの数が合わないために上手くデザインできないこともあります。私も終了タグを忘れたことが原因で、半日くらい悩んだ経験があります。デザインが複雑になるほど読みやすくしておいたほうがいいです。


以上の点をふまえてPHPのソースコードを見ると、 <br /> と \n の両方が必要な理由がわかったと思います。


スポンサードリンク

スポンサードリンク






PHP初心者入門講座TOPへ