関数の概要
PHPの nl2br 関数は、文字列内にある改行コード(n)をHTMLの改行タグである <br> または <br /> に変換するための関数です。Webページ上でテキストの改行表現をHTMLに適切に反映させたい場合に便利です。
パラメータの説明
string $string:改行を含む変換したい元の文字列。bool $is_xhtml = true:trueの場合、<br />のようなXHTML形式で改行タグを出力します。falseの場合は<br>となります。省略時はtrueです。
戻り値
改行コードがすべてHTMLの改行タグに変換された文字列を返します。元の文字列は変更されません。
使用例
基本的な使い方
<?php
$text = "こんにちは。n今日は良い天気ですね。";
echo nl2br($text);
?>
この例では改行コードが <br /> に変換され、ブラウザ上では「こんにちは。」の後に改行として表示されます。
XHTML形式を使わない例
<?php
$text = "Line 1nLine 2";
echo nl2br($text, false);
?>
第二引数に false を指定すると、改行タグは <br> というHTML形式で出力されます。
HTMLフォームの出力での利用例
<?php
$user_input = "お疲れさまです。nよろしくお願いします。";
echo '<textarea>' . $user_input . '</textarea><br>';
echo nl2br(htmlspecialchars($user_input));
?>
ユーザーからの入力を安全に表示しつつ、改行もブラウザでわかるようにしたい場合は、htmlspecialchars と組み合わせて使うのが一般的です。
関連する関数
str_replace:文字列内の特定文字列を置換する一般的な関数。htmlspecialchars:HTML特殊文字をエスケープし、XSS対策に役立つ。explode:文字列を改行などで分割し配列にする際に利用されることが多い。
まとめ
nl2br はPHPで文字列に含まれる改行をHTMLの改行タグに変換するシンプルかつ便利な関数です。特にユーザー入力やテキストの改行をWebページ上にそのまま反映したい場面で重宝します。XHTML形式かHTML形式かの選択も可能で、多くの実務環境で利用しやすい関数です。
