適切に機能しているWebサイトのデータベースにテキストエリアを送信しています。しかし、データベースから(PHPを介して)CSVを生成すると、すべての改行が結果のCSVで混乱します。CSVリーダーは、入力からの改行を新しい行に解釈します。
私は次のアプローチを試しました:
フィールドを引用符で囲みます。
これ:
$field = str_replace(array('\n', '\r', '\r\n', '\n\r'), ',', $original_field);
またこれ:
$field = strip_tags(nl2br($original_field));
上記のすべてのアプローチを組み合わせます。
とにかく、最終結果はまだ混乱したCSVであり、ユーザーが入力した改行で中断されます。テキスト領域からの改行をブロックすることができましたが、CSV側でもこれを修正する必要があるレガシー送信がたくさんあります。
なぜ機能しないのですか?この問題を解決するにはどうすればよいですか?