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

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

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

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

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 )

広告
Profile
profile_img

著者 / TATSUO IKURA

初心者~中級者の方を対象としたプログラミング方法や開発環境の構築の解説を行うサイトの運営を行っています。