2012-03-15 4 views
0

私はデータ型のデータベースにテキストフィールドを持っています。それはコメントやものを保持しています。それは、このようなcsvインポートの改行を削除します

This is a comment 

This is another line 

ように、そのコメントに新しい行を見つけた場合、私はcsvファイルでこのおよびエクスポートを読んだとき、今CSVインポートショーは、次の行で「これは別のラインである」ので、めちゃくちゃ私のデータを。

これまでのところ、私はstr_replace()、trim()を試しました。まだ何もしていないようです。私はstackoverflowの中に同様の答えを見てきましたが、私の問題

おかげであなたがstr_replace関数で探しているものを

+1

どのようにCSVにエクスポートするのですか?フィールドが引用符で正しく囲まれている場合、CSVは埋め込み改行に問題はありません。 –

+0

あなたは 'sed'を使って実行するような、入力を前処理できますか? –

答えて

1

に合ったものを見つけることができませんでしたか?指定された文字列を "\ r"および/または "\ n"で検索できるはずです。例は、PHP str_replaceのドキュメントに記載されています。以下の例のリンク:あなたは、文字列のprintfためにあなたの改行を変換する場合

http://php.net/manual/en/function.str-replace.php#example-4450

http://www.php.net/manual/en/function.str-replace.php#97374

+1

str_replace(配列( "\ r"、 "\ r \ n"、 "\ n")、 ''、$ string)は私のために働いてくれましたありがとうございました。私は以前は\ r \ nと\ nを探していました。仕事はしていましたが、私はそうしなければならないように、一気にそれらを探していませんでした。それが私のラインが壊れていた理由だったと思います – Kaushtuv

0

は、あなたがこの問題を回避することができます。

<?php 

$t='This is a comment 

This is another line 
'; 

print str_replace("\n","\\n",$t); 

出力:

This is a comment\n\nThis is another line\n 

またhtmlspecialchars()に見えます。あなたはあなたのCSVを壊すかもしれない他の文字を保護する必要があります。

最後に、fputcsv()をよく見て、必要な処理を行うかどうかを確認してください。あなた自身のロールを作るよりも組み込みを使う方が良いかもしれません。

関連する問題