2

它给了我一个未终止的字符串文字错误:var image_file_name = "<br/>对于下面的这一行:

var image_file_name = "<?php echo str_replace("\n", "", $image_file_name); ?>";

关于如何解决这个问题的任何想法?对所有想法开放以进行测试:)

4

4 回答 4

2

您要删除\n换行符,但不删除\r回车符。尝试删除两者。看起来 IE(可能还有其他浏览器)也将\r其视为换行符。

也许:

str_replace(array("\n","\r"), "", $image_file_name)

(我假设它$image_file_name包含 Windows 样式的\r\n换行符,而不是 *nix 样式的\n换行符。)

于 2012-05-11T18:10:34.583 回答
1

尝试这个:

var image_file_name = '<?php echo str_replace("\n", "", $image_file_name); ?>';

试图避免询问为什么要将 php 片段分配给 JavaScript 变量的诱惑......:p

于 2012-05-11T17:58:10.873 回答
1

请使用它将解决问题

 addcslashes($string, "\x00..\x1f\x22\x27\x5c")
于 2015-05-08T05:12:23.917 回答
0

我通常做什么。

创建一个隐藏的输入类型,用 php 值填充他的值并使用选择器 $("#hiddenData").val();

因此,您无需使用 PHP 在脚本块中写入数据。如果您使用 mvc 框架,它会干净得多。

于 2012-05-11T18:24:17.270 回答