【发布时间】:2013-09-16 23:09:37
【问题描述】:
我有一个 PHP 字符串,其中包含一个地址,因此包含几行。一个例子可能是:
$custDetails = "
123 Main Street
City
Area Code
";
虽然此地址是使用 SQL 查询检索的,但未在 PHP 中声明。
我想暂时用其他字符替换 go to line 字符,以便在另一个 javascript 函数中更轻松地修改此字符串。但我遇到了一些问题。这段代码:
echo "
<script>
if ('$custDetails'.indexOf('\n') != -1)
alert('yes');
alert('$custDetails');
</script>
";
变成:
<script>
if ('123 Main Street
City
Area Code'.indexOf('
') != -1)
alert('yes');
alert('123 Main Street
City
Area Code');
</script>
经过 PHP 处理后。字符串中的“转到行”被视为脚本标记中的转到行,因此会弄乱脚本。此外,我无法检测到 \n 字符,因为它被视为转到行,并弄乱了脚本...
如何使多行字符串在 javascript 中可用?
编辑:正如其中一个答案所建议的,在调用 javascript 之前,我尝试在 PHP 中将“\n”替换为“n”
$custDetailsBis = str_replace("\n", '\n', $custDetails);
echo "<script>
alert(\"$custDetailsBis\");
</script>";
还是不行,在浏览器中输出:
<script>
alert("16 St Andrews Street
\nDundee
\nDD1 2EX");
</script>
请注意,我知道浏览器输出中出现了 \n,但仍有换行符。换行符再次导致 javascript 出现错误。
【问题讨论】:
标签: javascript php string newline