hsmwhsmw

初心者入門改行文字の前にHTMLの改行文字を挿入(nl2br) - 文字列関数 - PHP関数

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

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

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

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

実際の例で見てみます。

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

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

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

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

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

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

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

functest63.php

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

<?php

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

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

?>
</body>
</html>

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

lp2brのテスト

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

lp2brのテスト