将数据库中的多行值转换为一行

时间:2013-10-09 19:52:28

标签: php

您好我正在尝试从多行数据库中获取值。我通常通过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获取此值。如何使这个多行值成为正常的段落或句子。

3 个答案:

答案 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>