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

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

TechAcademyマガジンは受講者数No.1のオンラインプログラミングスクールTechAcademy [テックアカデミー]が運営。初心者向けに解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。

PHPで改行をする方法について解説しています。

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が表示されています。

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

 

大石ゆかり

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

田島悠介

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

大石ゆかり

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

田島悠介

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

 

おわりに

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

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

PHPで改行コードをbrタグへ変換する方法も参考にしてみてください。

PHPをさらに勉強したい場合は、PHPで構文チェックを行う方法PHPとHTMLをまとめてコメントアウトする方法についても合わせて読んでみてください。

 

この記事を監修してくれた方

中本賢吾(なかもとけんご)
アジマッチ有限会社 代表取締役社長
開発実績:PHPフレームワークによるフランチャイズ企業向け会員制SNS。Shopifyによる海外進出用大規模ネットショップ構築。Vue.jsによる金融機関向け内部アプリ。AWSやLinuxハウジングサーバーでの環境構築。人工知能を利用した画像判別システム。小売チェーン店舗用スマホアプリ。Wordpressによる不動産チェーン店向け賃貸・売買仲介システム。基幹システム移管用データコンバートシステム。
小学生がUnityでオリジナルAndroidアプリをGooglePlayでリリース、NHK Whyプログラミング入賞、全国Programing Festival入賞、中学生がノーコードでSNS型PWAアプリリリースなど、ボランティアプログラミング教育活動行っている。

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

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

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

 

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

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

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