ブラウザで見やすくする!PHPで改行処理を行う方法【初心者向け】
プログラミング初心者向けにPHPで改行処理を行う方法について解説しています。HTMLではbrタグを使用しますが、PHPで様々な書き方ができます。自動で改行タグを入れることもできるので、ぜひ書き方をマスターしておきましょう。
TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。
PHPで改行をする方法について解説しています。
誰でも簡単に行えるので、ぜひ書き方を覚えておきましょう。
そもそもPHPが何か分からない場合は、先にPHPとはの記事をご覧ください。
なお本記事は、TechAcademyのPHPオンライン講座の内容をもとにしています。
改行する前の状態
PHPの改行にはブラウザ上での改行と、ソースコード内の改行の二種類があります。
まず最初にどちらでも改行しない場合の例です。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head> <body> <?php echo "文字列1"; echo "文字列2"; ?> </body> </html>
ふたつの文字列「文字列1」「文字列2」がechoによって続けて出力されています。

田島メンター!ソースコード上の改行とは何でしょうか?HTMLだとbrタグで改行されますよね。

PHPでページに何かを出力した時に、改行を指定しないと、ソースコード上で改行されないんだよ。

テキストエディタでは、Enterキーを押せば、ソースコード上の改行になってますよね。

そうそう。上のecho関数を2回書いた場合にどうなるのか、例を見てみよう!
ブラウザ上
ブラウザ上ではこのようになります。ふたつの文字列は横に並び、文字列1のすぐ後に文字列2が表示されています。
ソース上
ブラウザ上で右クリック→「ページのソースを表示」を選択したときの画面です。ソースコード上でも同じように、ふたつの文字列は続けて表示されており改行はされていません。
ブラウザ上で改行する方法
ブラウザ上での表示においての改行には<br />を使用します。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head> <body> <?php echo "文字列1<br />"; echo "文字列2"; ?> </body> </html>
ここでは「文字列1」のあとに<br />を入れて改行しています。
画面ではこのようになります。「文字列1」で改行され、次の行に「文字列2」が表記されています。
また、<br />による改行は以下のように指定することもできます。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head> <body> <?php echo "文字列1<br />文字列2"; ?> </body> </html> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head> <body> <?php echo "文字列1"; echo "<br />"; echo "文字列2"; ?> </body> </html>
[PR] PHPのプログラミングで挫折しない学習方法を動画で公開中
ソース上で改行する方法
ブラウザ上での表示においての改行には\nを使用します。
※\nの\の部分はフォントの環境によって半角のバックスラッシュか円のマークになりますが、どちらも動作は同じになります。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head> <body> <?php echo "文字列1\n"; echo "文字列2"; ?> </body> </html>
ここでは「文字列1」のあとに\nを入れて改行しています。
画面ではこのようになります。「文字列1」と「文字列2」の間に空白が入りますが改行はされていません。
ブラウザ上で右クリック→「ページのソースを表示」を選択しソースコードを表示します。ソース内では「文字列1」のあとで改行され、「文字列2」が二行目に表示されます。
また、\nによる改行は以下のように指定することもできます。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head> <body> <?php echo "文字列1\n文字列2"; ?> </body> </html> <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head> <body> <?php echo "文字列1"; echo "\n"; echo "文字列2"; ?> </body> </html>
nl2brを使った自動でのタグの挿入
nl2br関数を使用すると、\nで改行した部分に自動で<br />のタグを入れることができます。
nl2br(\nによる改行を行った文字列)
nl2brでの処理を行った場合の例です。
<!DOCTYPE html> <html> <head> <meta charset="utf-8" /> </head> <body> <?php $str = "文字列1\n文字列2\n文字列3\n文字列4\n文字列5"; $str = nl2br($str); echo $str; ?> </body> </html>
ここでは<br />タグを入力していませんが、実行するとnl2brにより<br />が自動で挿入されるため画面上ではこのようになります。
また、ここでソースコードを確認すると、以下のようにタグが追加されていることが確認できます。

バックスラッシュとn(環境によっては、¥記号とn)をHTMLのbrタグに変換してくれる関数があるんですねー。

そうそう。例えば、フォームのテキストエリアタグとかに文章を書くとき、Enterキーで改行出来るよね。ソースコード上の改行を表しているんだよ。

テキストエリアタグから送られてきた文字列に使えそうですね。

そうだね。改行が多すぎれば、警告したり、改行をbrタグに直すと掲示板みたいに出来るんだ。
おわりに
自動で改行タグを入れたり、指定した箇所を改行させるのは簡単に行えます。
ちょっとブラウザで見やすくしたいなんていう時に役に立つはずなので、ぜひ覚えておきましょう。
PHPをさらに勉強したい場合は、PHPで構文チェックを行う方法、PHPとHTMLをまとめてコメントアウトする方法についても合わせて読んでみてください。
また、PHPを勉強していて、
- もっと効率的に勉強したい
- 誰かに聞きながら学びたい
- 自分でWebサービスを作りたい
と思ったことはないでしょうか。
そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。
現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。
独学に限界を感じている場合はご検討ください。