【发布时间】:2011-04-29 10:00:14
【问题描述】:
对于用户输入,我这样做:
$var=str_replace(array('\r','\n'),'',$var);
在 Windows 上运行良好,删除任何新行。
但是,在 Mac (+Firefox) 上,它以某种方式将新行替换为 \ 字符。
关于为什么会发生这种情况的任何线索?
【问题讨论】:
-
你让它工作了吗?
对于用户输入,我这样做:
$var=str_replace(array('\r','\n'),'',$var);
在 Windows 上运行良好,删除任何新行。
但是,在 Mac (+Firefox) 上,它以某种方式将新行替换为 \ 字符。
关于为什么会发生这种情况的任何线索?
【问题讨论】:
我很惊讶它可以在 Windows 上运行。
通常,对于 PHP 来解释控制字符,它们需要在双引号字符串中,例如
array("\r", "\n")
【讨论】:
在 php.ini 文件中将值 auto_detect_line_endings 设置为 on
或ini_set("auto_detect_line_endings", true);
【讨论】: