私は正常に動作しているウェブサイトのデータベースにテキストエリアを送信しています。しかし、私のデータベースからCSVを(PHP経由で)生成すると、すべての改行が結果としてCSVに混乱します。どのCSVリーダーでも、入力から改行に変換されます。すべての改行を削除して、適切なCSVを生成するにはどうすればよいですか?
私は、次のアプローチを試してみました:
は引用符でフィールドをカプセル化します。
この
:$field = str_replace(array('\n', '\r', '\r\n', '\n\r'), ',', $original_field);
また、この:上記のすべてのアプローチを組み合わせる
$field = strip_tags(nl2br($original_field));
。
とにかく、終了結果は、ユーザによって入力された改行で改行される混乱したCSVになります。私はテキストエリアからの新しい改行をブロックすることができましたが、CSV側でもこれを修正する必要があるレガシーな投稿がたくさんあります。
なぜ機能しないのですか?この問題を解決するにはどうすればよいですか?
:
あなたは同様に、異なる順序でそれを使用する必要がありますか? –
データベースエントリはすでにCSV形式ですか? –
いいえ。私はfwriteで生成しています。しかし、返信を読んだ後、私はputcsv経由で再考して生成するかもしれません。 –