【发布时间】:2012-08-19 12:46:05
【问题描述】:
我正在为一个未正确清理其某些表单数据的客户开发一个网站。特别是,他们没有做任何事情来解释从 textareas 收到的换行符。所以,在数百个 db 行中有 \r\n 和 \r\n\r\n 和 \r\n\r\n\r\n... 你明白了。我需要以某种方式只提取具有\r\n 的行来清理数据。我不能为我的生活建立一个选择这些行的查询!我意识到我必须以某种方式逃避斜线,但我没有成功。
我尝试了以下方法:
SELECT Id,Description FROM lakes WHERE Description LIKE '%\r\n%';
SELECT Id,Description FROM lakes WHERE Description LIKE '%\\r\\n%';
SELECT Id,Description FROM lakes WHERE Description LIKE '%\\\r\\\n%';
SELECT Id,Description FROM lakes WHERE Description LIKE '%\\\\r\\\\n%';
我当然可以继续添加斜线,但我觉得如果 4 个斜线不起作用,我可能会遗漏一些重要的东西。
这些查询中的每一个都返回结果,但没有一个结果是带有\r\n 的结果。最后一个查询(带有 4 个斜杠)确实返回了 2 行确实有 \r\n,以及 138 行没有。
另外,因为我知道有人会提到它,所以我知道nl2br()。由于某种原因,它不能处理表中的原始数据。现在,我很高兴能够拉出这些行并清理它们。
提前致谢!
乔什
【问题讨论】:
-
也许我遗漏了一些明显的东西,但话说回来,第一个查询有什么问题?这些是没有
\r\n序列的行吗?
标签: php mysql select line-breaks