htmlフォームからPHPへ送られた文字情報の改行コードをhtmlで表示できるように変換する方法

この記事がお役に立てたならシェアしてくれると嬉しいです。

複数行入力可能なtextareaから受け取ったデータは、そのままではechoやprintで改行して表示してくれません。
改行コードが空白で表示され、一行で表示されてしまいます。

str_replaceでも同じ事が出来ますが一般的には改行コードはUnicodeやShift_JIS等の文字コードの違いに対応している「nl2br」を使います。

スポンサーリンク

改行コードを変換する方法

■nl2br

nl2br(受け取った変数)

受け取った変数の改行コードを<br />に変換した物を返します。

<form method="post">
<input type="submit" name="botan" value="send">ボタン
<textarea name="data" cols="10" rows="2" wrap="hard" maxlength="10">
初期値の文字
</textarea>
</form>

<?php
$moji=nl2br($_POST["data"]);

print $moji;
echo "<BR><BR>";
print $_POST["data"];
?>

htmlフォームからPHPへ送られた文字情報の改行コードをhtmlで表示できるように変換する方法

実行すると$_POST[“data”]の改行コードが<br />に変換されて$mojiに代入します。
$mojiを表示すると、このように改行表示するようになってます。

サンプルは↓です。
サンプル

逆にnl2brで変換したデータを元に戻すにはShift_JISの場合

$moji2=str_replace(“<br />”,”\r\n”,$moji);

で$moji2に元に戻したデータが入ります。

また、Shift_JISで「<br />」ではなく「<br>」が良い場合は

$moji=str_replace(“\r\n”,”<br>”,$_POST[“data”]);

で「<br>」になります。
では次回からは入力されたデータをファイルに保存する方法を紹介します。

スポンサーリンク

この記事がお役に立てたならシェアしてくれると嬉しいです。


最新記事の更新情報をお届けします。

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)