PHPで文字列を出力したい時、
「あれ?PHPで文字列を入れても改行されない?」
「PHPファイルでは改行できてるのに…」
という経験はありませんか?
今回はPHP初心者に向けて、
- ・PHPだけでは改行できない理由
- ・<br>を使う場合
- ・ソース上で行う場合
- ・関数を使う場合
について解説していきます。
簡単に行えるため、是非覚えておきましょう。
PHPだけでは改行できない理由
PHPでこのようなコードを書いたとします。
1 2 3 4 |
<?php echo `Hello World!`; echo `はろーわーるど!`; ?> |
echoで2つの文字列が指定されていますね。
ではこれは、ブラウザ上ではどのように表示されるでしょうか?
出力結果
Hello World!はろーわーるど!
と繋がって表記されているかと思います。
PHPの表記では改行してあっても、ブラウザ上では改行されないで表示されてしまうのです。
なぜかというと、
PHPを書く場合、「改行」「半角スペース」は無視される。
という特徴があるからです。
つまり、エディタでPHPを書くときの「改行」は、
コードの読みやすくする為のもの
と考えてください。
<br>を使う場合
では改行させるにはどうしたら良いでしょう?
まずはHTMLタグを使って改行する場合です。
HTMLで改行をするために使うタグは<br>ですね。
ではこれをPHPに組み込むとどうなるでしょう?
1 2 3 4 |
<?php echo “Hello World!<br>”; echo “はろーわーるど!”; ?> |
この様な記述になり、ブラウザ上では
出力結果
Hello World!
はろーわーるど!
この様に改行することに成功しました。
タグの指定の仕方には
1 2 3 4 5 |
<?php echo “Hello World!”; echo “<br>”; echo “はろーわーるど!”; ?> |
と表記することも出来るので覚えておきましょう。
ソース上で改行する場合
では別のやり方も見ていましょう。
まずは先ほどのコードを用意します。
1 2 3 4 |
<?php echo “Hello World!”; echo “はろーわーるど!”; ?> |
先ほどはブラウザ上の改行でした。
今回はソース上での改行の仕方です。
Hello World!の後ろに\nを入れてみましょう。
\はバックスラッシュという記号になります。
1 2 3 4 |
<?php echo “Hello World!\n”; echo “はろーわーるど!”; ?> |
ではブラウザを見てみましょう。
ブラウザでは
出力結果
Hello World! はろーわーるど!
と間に空白が入って改行されずに表示されているかと思います。
どこが改行されているのかというと、
ブラウザ上で右クリック→「ページのソースを表示」
でソースを見てみましょう。
するとソース上ではこのように表示されているはずです。
1 2 3 |
<body> Hello World! はろーわーるど!</body> |
これでソース内で改行されているのが確認出来たました。
関数を使う場合
ではソース上、ブラウザ上どちらでも改行させたい場合はどうしたら良いでしょうか?
どちらでも表示させたい場合は関数を使うとどちらも適用された改行になります。
どのように表記したら良いか、それは「nl2br」という関数を使います。
ではその関数を実際つかってみましょう。
1 2 3 4 5 |
<?php $hello = “Hello World!\nはろーわーるど!\nハローワールド!” $hello = nl2br($hello); echo $hello; ?> |
この様に表記するとブラウザ上ではこのように表示されます
出力結果
Hello World!
はろーわーるど!
ハローワールド!
このようにブラウザ上では改行されました。
そして今度はまた先ほどと同じようにソース上でも改行されているか確認しましょう。
1 2 3 4 |
<body> Hello World!<br> はろーわーるど!<br> ハローワールド!</body> |
このように表示されているはずです。
もしブラウザもソースも表示されてないとなれば全角半角を気を付けてもう一度書いて見ましょう。
まとめ
いかがでしたでしょうか?
今回はPHPでの改行をするために
- ・PHPだけでは改行できない理由
- ・brを使う場合
- ・ソース上で行う場合
- ・関数を使う場合
を解説しました。
ちょっとしたことでホームページは見やすくなるので是非覚えておきましょう。