【PHP入門】改行コードの処理を行う方法(挿入/削除)

PHPでは、ブラウザやコンソールでの表示に改行を挿入したり削除したりすることができます。

この記事では、

・ブラウザ上で改行を挿入する方法
・ソースコード上で改行を挿入する方法
・改行を削除する関数を使用する方法

という基本的な内容から、

・PHP_EOLを使用して改行コードを指定する方法

などの応用的な使い方に関しても解説していきます。

今回はそんな改行コードの処理を行う方法について、わかりやすく解説します!

改行を挿入する

PHPで改行を行うには、ブラウザ上で改行する方法と、ソースコード上で改行を行う方法があります。

ブラウザ上で改行する

ここではブラウザに文字列を出力するときによく使用する、echoで改行コードを指定する方法について解説してきます。

ブラウザに文字列を出力するときはechoを使用しますが、以下のように連続してechoを指定しても、ブラウザ上では改行されずに1列で表示されてしまいます。

サンプルプログラム:

実行結果:

これを改行して見やすく表示する場合にはechoのあとに、brタグ改行したい箇所に挿入します。

サンプルプログラム修正後:

実行結果:

echoにbrタグを挿入すれば、ブラウザ上で改行されていることがわかりますね!

以下のようにechoで文字列に続けてbrタグを記述しても同様の結果になります。

ソースコード上で改行する

ここでは、ソースコード上で改行を行う方法について解説します。

ソースコード上で改行する場合は、ソースコードの改行したい箇所に改行コードを指定します。

改行コードは、WindowsやMacOS、LinuxなどのOSによって異なります。OSごとの改行コードは以下のようになっています。

Windows:CR+LF(\r\n)
Mac:CR(\r)
Unix/Linux:LF(\n)

以下に改行コードを指定したサンプルを記述します。

サンプルプログラム:

実行結果:

以下のように変数の後に改行コードを挿入する場合も、方法は同じです。

ソースコードの改行コード指定は‘(シングルクォーテーション)ではなく、"(ダブルクォーテーション)で括る必要があります。

シングルクォーテーションでは、特殊文字が判別できずに文字列として扱ってしまいますので注意しましょう。

PHP_EOLによる改行コード指定

改行コードは、定数PHP_EOLを使用することができます。

前述したようにソースコード上で改行を行う場合は、WindwosやMacOS、LinuxなどのOSによって改行コードはそれぞれ異なるため、指定方法を誤ると正しく改行されないこともあります

改行コードの定数PHP_EOLを使用すれば、正しく改行を行うことができます

以下に定数PHP_EOLを使用した改行方法を記述します。

サンプルプログラム:

実行結果:

このように改行コードの定数PHP_EOLを指定すれば、OSを意識することなく簡単に改行することができますね!

改行コードはOSによって指定方法が異なるので、確実に改行を行うためには定数PHP_EOLを使用することを強くオススメします。

改行を削除する

テキストファイルから読み込んだ改行コードを含んだ文字列の改行コードのみを削除して、一行で表示させたい場合もあります。

テキストファイルをそのまま読み込んで変数に格納しても、その変数を表示すると改行されてしまいます

ここでは、改行コードを削除する方法を解説していきます。

str_replace関数を使う

改行コードを削除するには、str_replace関数を使う方法があります。

str_replace関数は、検索した文字列に一致した全ての文字列を置換し、置換した文字列を返す関数です。

改行コードを検索し、空文字列に置換することで、改行コードを削除することができます。

以下はstr_replace関数を使って改行コードを削除するサンプルです。

読み込むテキストファイルは、PHPの実行ファイルと同じディレクトリに予め用意しておきます。

サンプルプログラム:

test.txt

実行結果:

サンプルではfile_get_contents関数でファイルの全文を読込み、変数に格納しています。

そのまま変数をechoで出力してソースコードを確認すると改行した状態で出力されますが、str_replace関数で改行コードを空文字列に置き換えると、テキストの内容が1行で表示されます。

str_replace関数の使い方については、以下の記事で詳しく解説しています!

preg_replace関数を使う

preg_replace関数を使って改行コードを削除することもできます。

preg_replace関数は、正規表現でマッチした文字列を置換し、置換した文字列を返す関数です。

str_replace関数を使う方法と同様、改行コードを検索し、空文字列に置換することで、改行コードを削除することができます。

以下はpreg_replace関数を使って改行コードを削除するサンプルです。

読み込むテキストファイルは、str_replace関数を使用したサンプルと同様のものを使っています。

サンプルプログラム:

実行結果:

preg_replace関数で\nまたは\rまたは\r\nにマッチしたら空文字に置き換えるように指定しています。

str_replace関数を使った時と同様の結果になります。

preg_replace関数の使い方については、以下の記事で詳しく解説しています!

trim関数を使う

trim関数は、文字列の先頭および末尾にある空白文字を取り除く関数です。

trim関数が取り除く文字には改行コードも含まれます

trim関数を使って改行コードを削除するサンプルです。

サンプルプログラム:

test.txt

実行結果:

trim関数実行後は、「AAAAA」の前の改行と「BBBBB」の後の改行が削除されているのが分かります。

trim関数は文字列の先頭および末尾の改行コードのみ取り除くので、「AAAAA」と「BBBBB」の間にある改行コードは残ります

まとめ

今回は改行を挿入する方法、改行を削除する方法について解説しました。

PHPなどのウェブサービスを開発する言語では、ブラウザ上に表示される文字列を改行することもよくありますので、この機会にぜひ覚えておきましょう。

もし改行コードの処理について忘れてしまったら、この記事を思い出してくださいね。

LINEで送る
Pocket

最短でエンジニアを目指すなら侍エンジニア塾

cta_under_bnr

侍エンジニア塾は業界で初めてマンツーマンレッスンを始めたプログラミングスクールです。これまでの指導実績は16,000名を超え、未経験から数多くのエンジニアを輩出しています。

あなたの目的に合わせてカリキュラムを作成し、現役エンジニア講師が専属であなたの学習をサポートするため効率よく学習を進めることができますよ。

無理な勧誘などは一切ありません。まずは無料体験レッスンを受講ください。

無料体験レッスンの詳細はこちら

書いた人

ヤマシタ

エンジニア歴10年のフリーランスエンジニア。ITに関わるさまざまなコンテンツの企画・制作も行っています。
ITに関してはノウハウ系、ライフハック系、トレンド系など、200本以上の執筆経験があります。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説