其中 $txt 是一个 PHP 变量,可以包含这样的换行符: line1 line2 hell-6ren">
gpt4 book ai didi

php - 如何处理 Javascript 中的换行符? (来自 PHP)

转载 作者:太空狗 更新时间:2023-10-29 13:33:02 24 4
gpt4 key购买 nike

我有这样的代码:

<?php
echo '<script type="text/javascript">';
echo 'var out="'.$txt.'";';
echo '</script>';
?>

其中 $txt 是一个 PHP 变量,可以包含这样的换行符:

line1
line2 hello world

结果会是这样:

var out="line1
line2 hello world";

这当然会导致 Javascript 错误。

处理此问题的最佳方法是什么? out 变量将在 HTML 文本区域中使用,所以我认为它不能被解析为 <br>

最佳答案

$txt = str_replace( array( "\n", "\r" ), array( "\\n", "\\r" ), $txt );

应该替换换行符。 不要这样做

这是 JavaScript 字符串转义的简单实现。当您实际上试图格式化一个字符串以便在 JavaScript 中使用时,更好的解决方案是使用 json_encode :

$txt = json_encode($txt);
echo "<script>var out={$txt};</script>";

json_encode 将正确转义字符串中的特殊字符,例如引号、制表符、表单提要和其他特殊 unicode 字符。它还将为转换对象、数组、数字和 bool 值执行所有正确的转义。

关于php - 如何处理 Javascript 中的换行符? (来自 PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4270665/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com