入力フォームで改行する場合は’¥n’ではなく”¥n”

何年かおきに同じところでハマってしまう。
恥ずかしい内容だけど学習しないのでメモ。

入力フォーム(textarea)内で文章を改行させたい
場合は改行コードを入れてあげる必要がある。

$str = ‘1行目¥n2行目’; // サニタイズして¥nに変換してたとする
echo str_replace(‘n’, “¥n”, $str); // 改行コードに置換する

のような感じで改行が可能となる。

この時に、 “¥n” ではなく ‘¥n’ としてしまうと
改行コードではなく文字列としての ¥n になってしまうため
うまく改行されず、そのまま ¥n がtextareaに表示
されてしまう。
シングルクォーテーションとダブルクォーテーションで
意味が変わってしまうので要注意。

■参考
データベースから取り出したテキストの改行 – PHP – 教えて!goo