【PHP入門】改行コードをbrタグに変換!!nl2brをわかりやすく解説

こんにちは!エンジニアの大竹です!

今回は改行文字(コード)をbrタグに変換する便利なnl2br関数について解説します!

使い方自体はとても簡単です!

ただし、nl2brは使い方を間違えると正しく変換されないこともあるので注意が必要です!

この記事では、

・nl2brの基本的な使い方
・nl2brのオプションを用いた詳細な使い方

といった内容から

・nl2brの逆(brタグを改行コード)にする方法
・nl2brを使ったけど変換されなかった場合の対処法

までの内容を解説していきます!

nl2brを使ってみよう

使い方

まずは基本的な使い方を知りましょう!
といってもとても簡単です。

コードを見てみましょう!

<?php
$message = "Melon\r\nBanana\r\nApple";

echo nl2br($message);
?>

実行結果:

Melon<br />

Banana<br />

Apple

このサンプルコードを見ていただいて分かる通り改行コード「\r\n」「<br />」に変換するというとてもシンプルな関数です。

ちなみに改行コードが「\n」だった場合どうなるでしょうか?

こちらも次のサンプルをごらんください

<?php
$message = "Melon\nBanana\nApple";

echo nl2br($message);
?>

実行結果:

Melon<br />

Banana<br />

Apple

こちらのケースも同じ結果になりました。
実行環境によって改行コードに違いがあったとしても同様に出力されます。

次の項では変換後のbrタグに関係するオプションについて解説します!

オプション

前項では改行コードが「<br />」に変換できました。

nl2brではbrタグの出力方法を選ぶことができます。

実際にサンプルコードを見てみましょう。

<?php
$message = "Melon\nBanana\nApple";

echo nl2br($message ,false);
?>
Melon<br>
Banana<br>
Apple

前項のサンプルコードとの違いわかりますか?

変換されたbrタグが「<br />」ではなく「<br>」になっています。

何らかの理由で「<br />」ではなく「<br>」したい場合は第二引数のオプションにfalseを指定すると良いでしょう。

brタグを改行コードへ変換する

先程までは改行コードをbrタグに変換するnl2br関数についてご紹介しました。

では逆にbrタグを改行コードに変換するための関数はあるのでしょうか?

結論から言うとありませんが、次のようなサイトで解説されているような手法を使うことで実現することが可能です。

【PHP】本当のnl2brの逆関数
http://hi.seseragiseven.com/archives/559

nl2brを使ったのにbrタグに変換されない場合

nl2brは改行コードをbrタグに変換する関数ですが、ある使い方をすることで変換されなくなってしまいます。

まずは正しい使い方を見てみましょう。

<?php
$message = "Melon\nBanana\nApple";

echo nl2br($message);
?>

実行結果:

Melon<br />

Banana<br />

Apple

これは一番最初の章で提示したサンプルです。
特におかしいところはありません。

では次に問題のあるサンプルを見てみましょう。

<?php
$message = 'Melon\nBanana\nApple';

echo nl2br($message);
?>

実行結果:

Melon\nBanana\nApple

実行結果に違いがでていますよね!?

サンプルコードの違いを見ると大きく違いがないように感じるかもしれません。

しかし、先に紹介したコードはダブルクォーテーションで文字を囲っており2つ目のコードではシングルクォーテーションを囲っています。

シングルクォーテーションで文字を囲った場合は、改行コードが改行コードとして評価されないためこのような状態がおきます。

そのため、改行コードを取り扱うときにはこのシングルクォーテーションとダブルクォーテーションの違いをより意識して使い分ける必要があります。

まとめ

いかがだったでしょうか?

今回は簡単に使えるnl2br関数について紹介しました。

しかし、動作を正しく理解していないと思わぬところで不具合を出してしまう可能性もあり注意が必要です。

この記事の内容を忘れないようにしておきましょう!

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

オータケ

オータケ

30歳、フリーランスプログラマ。中学の頃よりプログラミングに興味を持ちゲーム開発やWebサイト構築などを経験
新しいフレームワークやライブラリに興味があり革新的な機能が含まれていると泣いて喜ぶ。