nl2br関数の使い方(改行文字の前にHTMLの改行文字を挿入)

PHP で用意されている組み込み関数の一つである nl2br 関数の使い方です。 strlen 関数は引数に指定した文字列に含まれるすべての改行文字の前に '<br />' を挿入して返します。

(2022 年 09 月 28 日公開 / 2022 年 09 月 28 日更新)

nl2br関数の書式と基本的な使い方

nl2br 関数は次のように定義されています。

string nl2br(string string)

引数に指定した文字列に含まれるすべての改行文字の前に '<br />' を挿入
して返します。

引数:
  string  対象の文字列
返り値:
  <br />挿入後の文字列

※挿入されるHTML改行識別子は<br>ではなく<br />とXHTML準拠となっていることに注意して下さい。

HTML文中で改行を行うためには<br />などの改行指定文字を記述する必要があります。その為、単にテキスト文書などから改行を含む文字列を取得し、そのままHTML文の中で表示したとしても改行は行われません。この関数は文字列中に含まれる改行文字の前にHTML文での改行を現す<br />を自動的に挿入してくれます。

実際の例で見てみます。

$str = "こんにちは。\r\nおはようございます。";

上記のような改行を含む文字列に対して「nl2br」関数を行うと下記のような文字列に変換されます。

$str = "こんにちは。\r\nおはようございます。";

$new_str = nl2br($str);
// "こんにちは。<br />\r\nおはようございます。"に変換されています。

※「\r」や「\n」を改行文字として扱うにはダブルクォーテーションで囲む必要があります。シングルクォーテーションで囲まれた場合には特別な意味をもたず単に「\r」は「\r」という文字として扱われます。詳しくは『データ型(文字列型)』を参照して下さい。

※改行文字はUNIXでは「\n」、Windowsでは「\r\n」、マッキントッシュでは「\r」を使います。

サンプルコード

では実際に試してみます。

<html>
<head><title>PHP TEST</title></head>
<body>

<?php

$str = "こんにちは。\r\nおはようございます。";

$new_str = nl2br($str);
print($new_str);

?>
</body>
</html>

上記ファイルを Web サーバに設置しブラウザ経由で見ると下記のように表示されます。

lp2brのテスト

上記のソースを見てみると下記のようになっていることが分かります。

lp2brのテスト

-- --

PHP で用意されている組み込み関数の一つである nl2br 関数の使い方について解説しました。

( Written by Tatsuo Ikura )

プロフィール画像

著者 / TATSUO IKURA

これから IT 関連の知識を学ばれる方を対象に、色々な言語でのプログラミング方法や関連する技術、開発環境構築などに関する解説サイトを運営しています。