改行コードの<BR>への変換がうまくいきません。
はじめまして よろしくお願いします。
仕事でPHPを触れはじめたところです。
textarea タグで入力されたものをMysqlに保管し、
また表示するというようなものを作ろうとしています。
困っているのは Mysqlがどうのではなくその登録前に
改行コードを <br>タグ に変換をかけておこうというところで躓いています。
セッションを開始しておいてFormタグからの値を
次のページで受け取っています。
ここの過去ログ等を参考にしてみたのですが...
$_SESSION['e_biko'] = htmlspecialchars($_POST['biko'] , ENT_QUOTES) ;
$tmp_biko = "";
$tmp_biko = str_replace("\r\n", "\r", $_SESSION['e_biko']);
$tmp_biko = str_replace("\r", "\n", $tmp_biko);
$_SESSION['e_biko'] = str_replace("\n", "<br>", $tmp_biko);
このあとでechoを使って$_SESSION['e_biko'] を表示させています。
しかし改行しないんです。<BR>タグへの変換ができておらず、表示されたHTMLのソースコードを見ると改行コードがそのまま出力されています。
HTML及びPHPの文字コードはEUCで記述しています。
開発及び確認はWindows・IE6で行っています。
何か考えられる原因、あるいはバグかあるでしょうか?
ちなみに下記でも駄目でした。
$_SESSION['e_biko'] = preg_replace("/\r\n|\r|\n/", "<br>", $_SESSION['e_biko']);
お分かりになられる方おられましたらよろしくお願いいたします。
お礼
ありがとうございます。 こんな便利な関数があったのですね。