2012-03-15 134 views
0

我在数据库中有一个文本字段,数据类型也是文本。它拥有评论和东西。现在,当我读了这一点,并出口到CSV如果发现该评论如删除csv导入换行符

This is a comment 

This is another line 

CSV导入秀“这是另一条线”的下一行,因此乱了我的数据的新线。

到目前为止,我已经尝试过str_replace(),trim()。仍然没有做任何事情。我一直在寻求在计算器类似的答案,但无法找到一个适合我的问题

感谢

+1

你如何输出到csv开始?如果该字段用引号括起来,则CSV应该没有嵌入换行符的问题。 – 2012-03-15 04:50:39

+0

你可以预处理输入,就像通过'sed'运行它? – 2012-03-15 04:55:21

回答

1

什么是你在str_replace函数功能搜索?您应该能够搜索给定字符串的“\ r”和或“\ n”。示例在PHP str_replace文档中有记录。下面的示例链接:

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(array(“\ r”,“\ r \ n”,“\ n”),'',$ string)为我工作谢谢..我之前正在搜索\ r \ n和\ n,它没有没有工作,但我没有像我应该一直在寻找他们,我想这是我的线路分手的原因 – Kaushtuv 2012-03-15 05:08:40

0

如果您将您的换行的printf风格的字符串,就可以避免这个问题。

<?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(),看看它是否能满足您的需求。使用builtins可能会比自己推出更好。