PHP处理回车换行时应该注意的一个问题

大家都知道Windows下的回车换行和Linux下的回车换行有区别,分别是

  • Windows  –  \r\n
  • Linux       –  \n

在我们的数据入库、出库的时候要特别注意这个问题,特别是在进行显示处理的时候,比如使用表单中的 textarea 进行了一段文字的提交,客户端是Windows的话就会包含 \r\n,如果要显示在页面上,这些都是不起作用的,我们需要替换成页面中可以辨认的回车 <br />

这个时侯就可以使用 ereg_replace()这个函数。

我就是在这个地方遇到了问题,比较一下下面两条语句

1
2
ereg_replace('\r\n', '<br />', $value);
ereg_replace("\r\n", "<br />", $value);

问题就出在单引号和双引号上,如果我们始终使用双引号,我们肯定是安全的。但是如果我们使用单引号,那么那些元字符就会被解释成其他的含义,从而导致了这句执行失败。

所以如果发现替换失败或者失效的时候,就从引号上找找原因吧。

cocowool

A FULL STACK DREAMER!