我有一个构建多行字符串的函数,该字符串需要作为 JavaScript 变量回显,因此在构建字符串之后,我运行它,str_replace()
然后像这样返回它:
return str_replace("\r\n", "\\\r\n", $output);
这是奇怪的事情:这在我运行 WampServer 的开发机器上运行良好,但它不会在我的实时服务器(运行 Apache 的 VPS 和最新版本的 PHP)上的行尾添加斜杠。
例子:
return (str_replace("\r\n", "\\\r\n",
'this
is
a
test'));
开发。机器:
this\ is\ a\ test
直播服务器:
this is a test
我一直在查看文档,但不知道为什么会这样。有任何想法吗?
解决方案:
return (str_replace(PHP_EOL, '\\' . PHP_EOL,
'this
is
a
test'));