PHP字符串包含换行符,在打印JavaScript时会引起问题。

39 浏览
0 Comments

PHP字符串包含换行符,在打印JavaScript时会引起问题。

我有一个包含地址的PHP字符串,因此包含几行。一个例子可以是:\n

$custDetails = "
123 Main Street
City
Area Code
";

\n尽管此地址是使用SQL查询检索的,而不是在PHP中声明的。\n我想临时将换行字符替换为其他字符,以便在另一个javascript函数中更容易修改此字符串。但是我遇到了一些问题。这段代码:\n

echo "

";

\n经过PHP处理后变成:\n


\n字符串中的“换行”被视为脚本标记中的换行,从而弄乱了脚本。此外,我无法检测到\\n字符,因为它被视为换行符,从而弄乱了脚本...\n我如何使一个有多行的字符串在javascript中可用?\n编辑:如一个答案中建议的那样,我尝试在调用javascript之前将PHP中的“\\n”替换为\'n\'\n

$custDetailsBis = str_replace("\n", '\n', $custDetails);
echo "";

\n仍然无效,在浏览器中输出:\n


\n请注意,现在我知道浏览器输出中出现了\\n,但仍然存在换行符。同样,换行符导致javascript错误。

0
0 Comments

问题描述:PHP字符串包含换行符导致打印JavaScript时出现问题。

问题原因:PHP字符串中包含换行符会导致在打印JavaScript时出现问题。

解决方法:可以使用str_replace()函数将换行符替换为空字符串。也可以参考这篇帖子,其中的答案使用regex来替换换行符。

0
0 Comments

这个问题的出现原因是PHP字符串中包含了换行符,导致在打印JavaScript时出现问题。解决方法是使用`json_encode`函数来自动替换换行符为`\r\n`。即使用以下代码:`json_encode($custDetails);`。尽管如此,如果需要保留换行符,这种解决方法就不太有用了。

0
0 Comments

问题的原因是PHP字符串中包含换行符,导致在打印出JavaScript时出现问题。解决方法是使用str_replace函数将换行符替换为回车换行符,并将替换后的字符串在echo语句中使用。

具体的解决方法如下:

$custDetailsEscaped = str_replace("\n", '\r\n', $custDetails);
echo "

";

输出结果如下:


这样就可以解决PHP字符串包含换行符时打印出JavaScript出现问题的情况。如果在使用过程中仍然遇到问题,可以尝试使用不同的换行符,如CR+LF(\r\n)。

0