2011-01-11 37 views
3

ELLO皲裂。在PHP中删除的换行符 - 但他们仍然表现出LONGTEXT在MySQL

确定 - 清洗我的字符串是这样的:

$clean_string = preg_replace("/[\n\r]/"," ",trim($dirty_string)); 

..回它的屏幕和它的作品 - 文本的一个可爱的大疙瘩,没有换行。

将它插入MySQL中的LONGTEXT类型字段 - 那么预览续集专业得到的数据 - 而由于某种原因,它拥有新的生产线。在我清理它们之前,它们就像新的时候一样。

我在做什么错?它是LONGTEXT吗?


这是HTML源代码看起来像当我使用SO页面的内容作为一个字符串 - 注意许多空格和换行 - 清理即使!

mysql - Trouble with CONCAT and Longtext - Stack Overflow 





































       Stack Exchange 
+0

可能你仍然可以看到旧记录。你确定在插入之前表格是空的吗? – 2011-01-11 18:13:51

+0

当你说“回显到屏幕”时,你是指浏览器窗口?如果是这样,HTML源代码中是否有任何换行符? – lonesomeday 2011-01-11 18:14:58

+0

@伊万 - 不含,刷新和新鲜的插入。 – 2011-01-11 18:17:02

回答

1

通过使用此解决:

$clean_str = str_replace(array("\r", "\n"), '', $dirty_string); 

但是 - 更换双引号单引号。现在工作。

$clean_str = str_replace(array('\r', '\n'), '', $dirty_string); 

感谢mfonda你为我接近!

1

这应该工作。此外真的没有任何需要在这里使用preg_replace-- $clean_str = str_replace(array("\r", "\n"), '', $dirty_string)将工作得很好,并会更快一点。

0

$clean_string = preg_replace('/\s+/m', ' ',trim($string));将取代每一个“空间序列”到一个单一的空间。试试看看它是否按预期工作。

0

如何修剪后,除去所有的换行符?

$clean_str = trim(str_replace(array("\r", "\n"), '', $dirty_string)); 
相关问题