<br>タグと改行コードの相互変換については以下
以前こんな要件がありました。
DBはvarcharで、画面のテキストエリアで入力した改行部分は<br>という文字列として1行で保存しておきたい
上記の記事であるようにnl2br関数を使えば、改行コードを<br>タグに変換できるので、
簡単じゃ~ん
と思っていたら、何故か余分に1つ多く改行されるという事象が、、、
備忘として残しておきます。
nl2br関数の注意点
nl2br関数は
改行コードを<br>タグに変換する
のではなく、
改行コードの前に<br>タグに挿入する
という点に注意が必要です。
つまり、単にnl2br関数を噛ませるだけでは1行データになってくれません
1 2 3 4 5 6 7 8 9 |
$val = "AAA\nBB\nC"; echo nl2br($val); /* AAA<br /> BB<br /> C */ |
なので、更に改行コードを取り除く処理をしてあげます。
1 2 3 4 5 6 7 8 9 10 11 12 |
$val = "AAA\nBB\nC"; $val = nl2br($val); // ここを追加 $val = str_replace(array("\r\n", "\r", "\n"), "", $val); echo $val; /* AAA<br />BB<br />C */ |
str_replace関数は第3引数の中から、第1引数に一致する箇所を第2引数に変換してくれます。
今回は全ての改行コードを想定して配列で第1引数を指定しておきます。
こんな感じで2ステップ必要なので注意しましょう!
それでは!また!!
最後まで読んで頂きありがとうございます!
人気の記事だけ集めたので是非覗いていってください^^
厳選!目的別にオススメ記事を紹介-あなたの欲しい情報がここに-
人気の記事だけ集めたので是非覗いていってください^^
厳選!目的別にオススメ記事を紹介-あなたの欲しい情報がここに-