PHP:文字\ n而不是新行

时间:2011-09-22 14:30:38

标签: php

我有一个php var,当回显时,将JS函数写入页面源。该函数循环使用CSV,因此其中包含以下行:

$str="var lines = data.split('\n');";

目前,当回应时,我将这个'正确'的JS写入源:

var lines = data.split('
');

相反,我希望将文字字符串\n回显到页面的源代码中。

有人能指出我正确的方向吗?感谢。

4 个答案:

答案 0 :(得分:6)

逃避斜线。

"\\n"

因此它被视为斜杠而不是转义字符。

答案 1 :(得分:2)

试试这个:

$str="var lines = data.split('\\n');";

答案 2 :(得分:-1)

你可以这样逃避\\\

但我会将整个JS功能放入.js文件中,包含生成的HTML中的内容,并在需要时调用特定的函数。如果我必须传达一些与页面相关的信息,请生成简约的js代码,如var config = {....}

您几乎从不需要动态生成的JS代码。阅读起来要困难得多,浪费CPU和网络带宽......

答案 3 :(得分:-1)

前面的解决方案中的解决方案,或者使用单引号作为PHP字符串分隔符来反转引号:

$str='var lines = data.split("\n");';

或者转义内部引号,如果你想在使用单引号作为PHP字符串分隔符时保留javascript的单引号。

$str='var lines = data.split(\'\n\');';

请参阅docs on quoted strings in PHP以及单引号字符串和双引号字符串的行为方式不同。