Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 移除';新线';从MySQL文本字段_Php_Mysql_Csv_Newline - Fatal编程技术网

Php 移除';新线';从MySQL文本字段

Php 移除';新线';从MySQL文本字段,php,mysql,csv,newline,Php,Mysql,Csv,Newline,我试图通过PHP在MySQL数据库上运行csv导出。在我进入描述字段之前,一切正常。其中,文本字段中的每一行都以新行终止。因此,对于文本字段中的每一行,我都会在CSV中获得一个新行。当我想要的只是一行末尾的新行时 到目前为止,我已经尝试了几种解决方案,包括: REPLACE(说明,'\r\n','\n') str\u replace(数组(“\r”、“\n”)、“\n”、$data) 感谢您的帮助 为什么要用\n替换它 试着用一个空字符串替换它,比如'。尝试将\r\n替换为”,\n替换为”,您可

我试图通过PHP在MySQL数据库上运行csv导出。在我进入描述字段之前,一切正常。其中,文本字段中的每一行都以新行终止。因此,对于文本字段中的每一行,我都会在CSV中获得一个新行。当我想要的只是一行末尾的新行时

到目前为止,我已经尝试了几种解决方案,包括:

REPLACE(说明,'\r\n','\n')

str\u replace(数组(“\r”、“\n”)、“\n”、$data)


感谢您的帮助

为什么要用
\n
替换它


试着用一个空字符串替换它,比如
'
。尝试将
\r\n
替换为
\n
替换为
,您可以尝试替换为
\\n
甚至HTML

标记。这将允许您稍后重新恢复换行符。

换行符并不总是
\n
。。。它们可以是
\r\n
\n\r
\n
\r
,具体取决于字符编码

如果您能够创建一个新的csv数据文件,并希望将换行符更改为html br标记,请查看
nl2br()
函数,它非常易于使用。如果字符串替换对上述换行符无效,请将数据写入硬盘上的临时文件,然后逐行解析,将所有换行符连接到一个空格中。PHP手册中有一些简单的示例

事实上,我遇到了相反的问题,我必须浏览一个已经创建的csv文件并找到换行符。在这种情况下,答案是使用正则表达式,但幸运的是,第一列和最后一列数据都是唯一的,足以解析和捕获中间的所有数据。另一种选择是删除所有换行符并根据列数收集数据。

我通常使用

但你可以随时使用(速度更快)


新行对内容有多重要?如果你把它们去掉,会不会影响文本的意思?你需要把它们放回去吗?在这种情况下,新的生产线并不需要。但对于将来的ref,如果您可以以任何方式建议在不丢失任何新行的情况下完成(即导出),那将非常棒。一个合适的CSV库应该为您处理转义数据。在谷歌搜索了一段时间后,我对php在这个问题上不是很有信心,因为我找不到任何在这个过程中不需要文件IO的选项。我认为一种选择可能是在前面或换行符前加一个反斜杠。@Paul-您需要在最终输出中嵌入一些内容,而不是换行。请看我的答案以获得一些建议。干杯,伙计们。是的,这些描述已经嵌入了html,因此不需要换行符,但我从来没有想过用反斜杠跳过新行。这就是我一直在寻找的答案。谢谢,你说得很对。今天是我的一个blone时刻,复制和粘贴代码。它仍然不起作用,但我刚刚意识到,如果我只对“\n”进行替换,它就可以完美地工作。谢谢
description = REPLACE(description, description, TRIM(BOTH '\r\n' FROM description))
preg_replace( "/\r|\n/", "", $data);
str_replace(array("\r", "\n"), "", $data);