Zen*_*eno 8 html javascript php newline
我有这样的代码:
<?php
echo '<script type="text/javascript">';
echo 'var out="'.$txt.'";';
echo '</script>';
?>
Run Code Online (Sandbox Code Playgroud)
其中$ txt是一个PHP变量,可以包含这样的换行符:
line1
line2 hello world
Run Code Online (Sandbox Code Playgroud)
哪个最终会像这样:
var out="line1
line2 hello world";
Run Code Online (Sandbox Code Playgroud)
当然,这会导致Javascript错误.
处理这个问题的最佳方法是什么?out变量将在HTML textarea中使用,所以我认为它不能被解析<br>
zzz*_*Bov 32
$txt = str_replace( array( "\n", "\r" ), array( "\\n", "\\r" ), $txt );
Run Code Online (Sandbox Code Playgroud)
应该替换换行符.不要这样做.
这是JavaScript的字符串转义的简单实现.当您实际尝试格式化字符串以在JavaScript中使用时,更好的解决方案是使用json_encode:
$txt = json_encode($txt);
echo "<script>var out={$txt};</script>";
Run Code Online (Sandbox Code Playgroud)
json_encode将正确地转义字符串中的特殊字符,例如引号,制表符,换页符和其他特殊的unicode字符.它还将执行所有正确的转义,以转换对象,数组,数字和布尔值.
| 归档时间: |
|
| 查看次数: |
21051 次 |
| 最近记录: |