我似乎很难显示HTML。哈哈,让我解释一下。
我有一个用于“评论”的模板文件......它告诉我们去哪里等等。添加,更新和选择任何“评论”时
IE:
<div class='comment'>
<div>{$name}</div>
<div>{$comment}</div>
</div>
因此,在我的评论中,我需要从包含\ n
的数据库中提取COMMENT所以我这样做。
$comment = nl2br($comment);
<div class='comment'>
<div>{$name}</div>
<div>{$comment}</div>
</div>
这确实有效......但是当我通过jQuery进行UPDATE时,我会使用
$("#"+ target +"").replaceWith(responseText);
并且responseText包含所有HTML ...但是有些原因,它仍然包括\ n ...而不是
我不知道这是Javascript或渲染问题的限制。只是不知道还有什么去这里......有什么想法吗?
答案 0 :(得分:0)
在php文件中,您将使用jQuery获取注释,在回显数据之前尝试执行以下操作
$comment=str_replace('\n\r', '<br />', $comment);
$comment=str_replace('\n', '<br />', $comment);
echo $comment;
答案 1 :(得分:0)
嗯,这有点奇怪,有些问题我没有完全测试,对不起可能没有澄清。但是mysql_real_escape_string()导致了\ n存储在数据库中的问题。
我正在考虑使用此功能。在php.net的网站上找到
function mysql_escape_mimic($value) {
if(isset($value))
{
if(is_array($value)) {
return array_map(__METHOD__, $value);
}
if(!empty($value) && is_string($value)) {
//return str_replace( array('\\', "\0", "\n", "\r", "'", '"', "\x1a"),
// array('\\\\', '\\0', '\\n', '\\r', "\\'", '\\"', '\\Z'), $value);
return str_replace( array('\\', "\0", "\r", "'", '"', "\x1a"),
array('\\\\', '\\0', '\\r', "\\'", '\\"', '\\Z'), $value);
}
return $value;
}
}