質問: json_decode(file_get_contents($file)); echo ''.$textarea.''; } ``` となっております。 例えば、 input.phpで > > おはよう > > こんにちは > > こんばんは > > > と入力しても、 output.phpでは、 > > おはようこんにちはこんばんは > > > と改行もされず、タグが表示されてしまいます。 いろいろと調べてみて、 output.php内で ``` echo ''.htmlspecialchars($textarea).''; ``` にする等変更してみましたがうまくいきません。 どうすればタグが表示されず、改行もできるようになるのでしょうか? /////////////////////// htmlを追記しました。 初心者なので、以上で必要な情報が揃っているかもわかりませんが、 仕事で必要に迫られ、周りにわかる者もいない中で悩みながら作っております。 業務の都合上、抜粋での記載となり申し訳ありません。 どうぞよろしくお願いします。
回答: nl2br がなにやってるか調べてみてください。 **追記** で改行されないってことなので、 の入力を へ出力したいのだと認識して回答を書いています。 ``` ``` これで正しく 内に改行付きで表示されます。 nl2br の挙動が理解できていれば、nl2br が余計なことしてるって辿り着けると思います。 ちなみに、複数の方から指摘がありますが、htmlspecialchars は表示する際にエスケープする関数なので、表示の際に使用するのが適切です。 入力値は生のまま持つのが基本です。 ``` ``` あと、コードは最低限再現するものを記述しないと、まともに回答できません。 今回の回答はエスパー回答です。