ブラウザで見やすくする!PHPで改行処理を行う方法【初心者向け】

プログラミング初心者向けにPHPで改行処理を行う方法について解説しています。HTMLではbrタグを使用しますが、PHPで様々な書き方ができます。自動で改行タグを入れることもできるので、ぜひ書き方をマスターしておきましょう。

TechAcademyマガジンはオンラインのプログラミングスクールTechAcademy [テックアカデミー]が運営する教育×テクノロジーのWebメディアです。初心者でもすぐ勉強できる記事が1,000以上あります。

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によって続けて出力されています。

 

20160620

 

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

 

20163020-2

 

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

 

20160620

 

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

 

20163020-2

 

そうそう。上のecho関数を2回書いた場合にどうなるのか、例を見てみよう!

 

ブラウザ上

ブラウザ上ではこのようになります。ふたつの文字列は横に並び、文字列1のすぐ後に文字列2が表示されています。

php_brn_1

 

ソース上

ブラウザ上で右クリック→「ページのソースを表示」を選択したときの画面です。ソースコード上でも同じように、ふたつの文字列は続けて表示されており改行はされていません。

php_brn_2

 

ブラウザ上で改行する方法

ブラウザ上での表示においての改行には<br />を使用します。

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8" />
  </head>
  <body>
    <?php
      echo "文字列1<br />";
      echo "文字列2";
    ?>
  </body>
</html>

ここでは「文字列1」のあとに<br />を入れて改行しています。

画面ではこのようになります。「文字列1」で改行され、次の行に「文字列2」が表記されています。

php_brn_3

また、<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」の間に空白が入りますが改行はされていません。

php_brn_4

ブラウザ上で右クリック→「ページのソースを表示」を選択しソースコードを表示します。ソース内では「文字列1」のあとで改行され、「文字列2」が二行目に表示されます。

php_brn_5

また、\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 />が自動で挿入されるため画面上ではこのようになります。

php_brn_6

また、ここでソースコードを確認すると、以下のようにタグが追加されていることが確認できます。

php_brn_7

 

20160620

 

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

 

20163020-2

 

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

 

20160620

 

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

 

20163020-2

 

そうだね。改行が多すぎれば、警告したり、改行をbrタグに直すと掲示板みたいに出来るんだ。

 

おわりに

自動で改行タグを入れたり、指定した箇所を改行させるのは簡単に行えます。

ちょっとブラウザで見やすくしたいなんていう時に役に立つはずなので、ぜひ覚えておきましょう。

また、PHPを勉強していて、

  • もっと効率的に勉強したい
  • 誰かに聞きながら学びたい
  • 自分でWebサービスを作りたい

と思ったことはないでしょうか。

 

そんな方のために、TechAcademyではオンラインブートキャンプPHP/Laravelコースを提供しています。

現役エンジニアがパーソナルメンターとして受講生に1人ずつつき、マンツーマンのメンタリングで学習をサポートし、最短4週間でオリジナルWebサービスを開発することが可能です。

独学に限界を感じている場合はご検討ください。