ホーム > PHPの文法 > 1 基本構造 > PHP の 改行
PHPリファレンス

UPDATE:2024年08月11日

PHP の 改行

PHP の 改行 | wepicks!
PHP4 PHP5 PHP7 PHP8


改行 簡単まとめ

1 Minute Note

  • 改行 はプログラムに影響 しない
  • <br>ウェブブラウザ上での改行
  • "\n"ソースコード上での改行
  • LF / CR / LF+CROS の エディタ(編集ソフト)上での改行
  • nl2br() 関数は 改行コード の直前に HTMLの <br> を挿入する
  • 改行の削除str_replacepreg_replace で可能
PHPでの 改行 の扱いについて解説します。改行 はプログラムの動作に影響を与えません。出力内容やプログラムコードが読みやすいように適所で自由に使用できます。また、改行には幾つかの種類がありますので、それらの内容も把握してみましょう。

改行

POINT

  • 改行 はプログラムに影響 しない

PHPのプログラムコードをエディタ(編集ソフト=Dreamweaver、秀丸、Atom など)等で記述する際、改行(エンターキー) はプログラムに影響を及ぼしません。コード中に 改行 をどんなに記述しても PHP では無視されます。例えば、以下のように無意味に 改行 を記述したとしても、それらは無視されるのでプログラムには影響しません。

結果は

改行改行改行

となります。

上記の例のコード

は、PHPにとって以下のコードと同じ意になります。

改行 はPHPでは無視されますが、人間が読み易いコードを記述するために使用します。空白(半角スペース)も 改行 と同様にPHPでは無視されるので、改行 や 空白 を適所で挿入し、見易いコードを記述してみましょう。

結果は

改行や空白を使用し、複数行でインデントを加えて記述。

となります。

改行 や 空白 を使用しないで一行に纏めて記述すると以下のようになります。

とても見づらいコードですね。

このように、PHPではプログラムの記述を一行にまとめることもできますし、複数行 で 空白文字 を使用して見易いコードを記述することもできます。当然、改行 や 空白文字 を使用して見易いコードを記述することがより良いプログラムコードを記述するのには必要でしょう。改行 や 空白 でインデントを作成し、見易く読み易いコードを記述するようにしましょう。

改行の種類

POINT

  • 改行 とは 改行コードを表す制御文字列
  • <br>ウェブブラウザ上での改行
  • "\n"ソースコード上での改行
  • LF / CR / LF+CROS の エディタ(編集ソフト)上での改行
  • nl2br() 関数は 改行コード の直前に HTMLの <br> を挿入する

改行とは、改行コードを表す制御文字列のことです。改行にはいくつか表現方法と表現の場があります。ウェブブラウザ上で改行を表す場合、ソースコード上で改行を表す場合、各 OS のエディタ(編集ソフト=Dreamweaver、秀丸、Atom など)で改行を表す場合とそれぞれで異なります。

ウェブブラウザ上で改行 <br>

まずブラウザ上で改行を表現するにはHTMLタグの「<br>」についてです。これはみなさんよく使用されると思います。

エディタ上

エディタでは以下のように記述します。

ブラウザ上

上記のコードをブラウザで表示させた場合

文字列1行目
文字列2行目

となり、改行が表現されています。

<br>がない場合

<br>を入力せずに、エディタだけで改行を入力している場合はブラウザ上で改行されません。

ブラウザで表示させた場合

文字列1行目文字列2行目

となり、1行になってしまいます。

ソースコード上で改行を表現 "\n"

次に、ソースコード上で改行を表現するには、PHPのコード中に「"\n"」を記述します。ソースコードを表示(ブラウザで右クリックしてページのソースを表示)させた場合に改行が入ります。また、改行を表現する「"\n"」は、「" (ダブルクォート)」で括る必要があります。「' (シングルクォート)」では「 \n 」がそのまま文字列として表示されてしまうので注意して下さい。

※"\n" の \ の記号はエディタやブラウザのフォントの環境によって半角のバックスラッシュか円マークのどちらかで表示されます。バックスラッシュ でも 円マーク でも同じ意になります。

エディタ上 "\n" なし <br> のみ

ブラウザで改行を表現する <br> のみ入力している場合、ブラウザ上では改行が入りますが、ソースコード上では改行が入りません。

ソースコード上

ソースコード上では改行が入らず、

となってしまいます。

ブラウザで表示させた場合

文字列1行目
文字列2行目

となり <br> により改行が入っています。

"\n" も入力する

ソースコード上で改行を表現する「"\n"」を記述します。

ソースコードを表示させた場合

となり、改行が入ります。

これで、ブラウザ上でもソースコード上でも改行が入るようになります。

"\n" は空白文字として扱われる

PHP において 改行コード:「 "\n" 」 は空白文字として扱われます。PHPでは、空白文字かどうかチェックする関数 ctype_space() が用意されているので、確認してみます。空白文字であれば TRUE を返し、そうでなければ FALSE を返します。

結果は

この文字列 [ 空白文字 ] は、空白文字です。
この文字列 [ 改行コード(ラインフィード) ] は、空白文字です。

となります。

その他に、タブ:「 "\t" 」、垂直タブ:「 "\v" 」、復帰:「 "\r" 」も空白文字として扱われます。

OS の エディタ(編集ソフト) 上で改行を表現

PHPコードをエディタで編集する際、Enterキー で改行を入力すると改行コードが入ります。その改行コードは3種類あり、OSによってコードが異なります

HTMLファイルの場合は、すべての改行コードをブラウザが適切に扱ってくれるので無視しても大丈夫です。CGIの場合は、改行コードを適切に変換してサーバーへ転送する必要があります。例えばWindowsOSで作成したCGIファイルをUNIX OSへ送る際は、改行コードを CR+LF → LF へ変換してから転送します。FTPソフトが自動で変換することもあるので、環境に合わせて確認してみましょう。

改行コード早見表

改行コードOS読み「od -c」コマンドでの表示
LFUnix/Linux/Mac(OSX)標準ラインフィード:line feed\n
CRMacintosh(MacOS 9)標準キャリッジリターン:carriage return\r
CR+LFWindows/MS-DOS標準CRコードとLFコードが対で1組\r\n

改行コードの確認

ファイルの改行コードを確認する場合は、「od -c」コマンドで確認できます。SSH などでサーバーに接続して確認してみましょう。

$ od -c [ファイル名]

test.txt ファイルを作成し、以下の内容を入力します。

各OS で作成したファイルを od -c test.txt で確認すると以下のように表示されます。
Unixでの表示
改行コード:\n

Macintoshでの表示
改行コード:\r

Windowsでの表示
改行コード:\r \n

nl2br() 関数で <br> を挿入する

PHP の定義済み関数 nl2br() は、改行コード:「 "\n" 」の直前に自動でHTMLの <br>タグ を挿入します。

nl2br() を使用する

改行コード "\n" を挿入しているテキストに nl2br() を使用して print で表示させてみます。

改行コード "\n" の直前にHTMLの <br>タグが挿入されるので、ブラウザで表示した場合、結果は


テキスト1
テキスト2
テキスト3
テキスト4
テキスト5

となります。

ソースコードで見ると 改行コードによって改行が挿入され、さらに、HTMLの <br>タグ も挿入されているのが分かります。

テキスト1<br />
テキスト2<br />
テキスト3<br />
テキスト4<br />
テキスト5<br />

また、改行:「 "\n" 」以外に、復帰:「 "\r" 」、「 "\n\r" 」、「 "\r\n" 」の前にもHTMLの <br>タグが挿入されます。

"\n" のみ挿入

"\n" のみの場合、<br>タグ は挿入されていないので、ブラウザで表示させると改行は入れません。

ブラウザで表示した場合、結果は

テキスト1 テキスト2 テキスト3 テキスト4 テキスト5

となります。

ソースコードで見ると、"\n" の箇所が改行となります。

テキスト1
テキスト2
テキスト3
テキスト4
テキスト5

PHPで改行コードを削除

PHP で 改行コード を 削除 するには、str_replacepreg_replace を使用する方法があります。

改行コード早見表

改行コードOS読み「od -c」コマンドでの表示
LFUnix/Linux/Mac(OSX)標準ラインフィード:line feed\n
CRMacintosh(MacOS 9)標準キャリッジリターン:carriage return\r
CR+LFWindows/MS-DOS標準CRコードとLFコードが対で1組\r\n

str_replace で改行削除

str_replace は、検索文字列にヒットしたすべての文字列を指定文字列に置換する関数です。

取得した値 = str_replace(検索する値 ,置換する値, 検索対象の値);
※値は文字列か配列を指定可能

すべての改行コード(CR/LF/CR+LF)を置換するには、str_replace の第1パラメータに配列を指定、配列に改行コードの文字列を記述します。
配列にすることで、複数の検索文字列を指定することが出来ます。

ソースコードで見ると、"\n" の改行コードが削除され、1行で表示されます。

テキスト1テキスト2テキスト3テキスト4テキスト5

preg_replace で改行削除

preg_replace も、str_replace 同様に、検索にヒットしたすべての文字列を指定文字列に置換する関数です。
こちらの関数は、検索を行うパターンを正規表現で動作させます。

結果 = preg_replace(正規表現, 置換する文字列や配列, 入力文字列);
※正規表現のパターンを文字列もしくは配列とすることができます。

preg_replace では正規表現(検索する値)の最初と最後にデミリタを記載します。以下の例では「/(デミリタ)」を使用しています。
すべての改行コード(CR/LF/CR+LF)を置換するには、preg_replace の第1パラメータの正規表現に配列を指定し、配列に改行コードを記述します。

ソースコードで見ると、"\n" の改行コードが削除され、1行で表示されます。

テキスト1テキスト2テキスト3テキスト4テキスト5

第1パラメータに文字列を指定し、対象とする改行コードを「|」で区切って記述することもできます。
「|」は or の意になります。

サンプルコード

– サンプル Click Here ! –

実行結果
空白

改行
複数行で空白文字を使用して記述

改行
改行する
改行する

1行で記述
1行で記述

空白と改行
空白改行

ブラウザ上で空白を表現
       空白

– サンプル Click Here ! –

タグ(=記事関連ワード)

日付

公開日:2024年7月11日
最終更新日:2024年08月11日

このカテゴリの他のページ

この記事へのコメント

トラックバックurl

https://wepicks.net/phpref-newline/trackback/

page top