您好我正在尝试从多行数据库中获取值。我通常通过echo $row['description'];
回显该值,结果类似于
the new part 3
he is working and prepared to enter the order.
The witness sees me and talks example in preparation
现在这会导致Unexpected Token Illegal
如果我尝试使用javascript或jquery获取此值。如何使这个多行值成为正常的段落或句子。
答案 0 :(得分:0)
尝试str_replace("\n",' ',$row);
用空格替换换行符。如果这给了一个额外的空间,那就把它str_replace("\n",'',$row);
答案 1 :(得分:0)
您应该正确转义Javascript字符串:
echo str_replace(['\n', '\r', '\t', "'", '"', '\\'], ['\\n', '\\r', '\\t', "\\'", '\\"'], $row['description']);
可能还有其他角色你应该逃脱,但我想我已经涵盖了可能出现在你的角色中的常见角色。
答案 2 :(得分:0)
以下是示例代码:
<?php
function js_escape($str)
{
$str = str_replace("\\", "\\\\", strval($str));
$str = str_replace("'", "\\'", $str);
$str = str_replace("\r", "\\r", $str);
$str = str_replace("\n", "\\n", $str);
$str = str_replace("\t", "\\t", $str);
$str = str_replace("</script>", "</'+'script>", $str);
return $str;
}
?><script type="text/javascript">
var a = '<?php echo js_escape('text with special symbols'); ?>';
</script>