Php 如何用换行符替换\r\n

Php 如何用换行符替换\r\n,php,Php,我在PHP中有一个注释系统,当用户在textarea中键入换行符时,它显示为rn(注意:我正在清理此输入并使用htmlentities(),我有自定义标记) 以下是我当前的代码(包括换行尝试): 有什么想法吗?您在输入的过程中不使用htmlentities,而是在输出中使用它。您应该转义以输入到数据库中,然后在输出上显示换行符,请考虑: nl2br(htmlentities($comment)); 你在做什么来净化输入?尝试PHP的本机函数nl2br()是一种快速而肮脏的方式。Wooble,我

我在PHP中有一个注释系统,当用户在textarea中键入换行符时,它显示为rn(注意:我正在清理此输入并使用htmlentities(),我有自定义标记)

以下是我当前的代码(包括换行尝试):


有什么想法吗?

您在输入的过程中不使用
htmlentities
,而是在输出中使用它。您应该转义以输入到数据库中,然后在输出上显示换行符,请考虑:

nl2br(htmlentities($comment));

你在做什么来净化输入?尝试PHP的本机函数
nl2br()
是一种快速而肮脏的方式。Wooble,我使用的是自定义清理代码。谢乔兹,谢谢。j08691,好的,可以。好吧,你看,问题是,我对这个评论系统有自己的标记,它将~~~下划线文本~~之类的东西改为下划线文本。我将稍后发布我的代码,以便您了解我的意思。@Zbee如果您先执行nl2br/HTMLENTITES,您仍然可以执行所有替换,并且在输出之前不会转义。因此,如果我在数据库中将Span ness作为注释,并将该注释作为HTMLENTITES($comment)进行回显,它将简单地回显“Span ness”在标签?@Zbee中,我建议在
选择
之后而不是在
插入
之前进行替换。。这样你就可以在以后的日子里调整你的发型而不会感到头痛
function sanitize($sql, $formUse = true) {
    $sql = preg_replace("/(from|script|src|select|insert|delete|where|drop table|show tables|`|,|'|\*|\\\\)/i","",$sql);
    $sql = trim($sql);
    if(!$formUse || !get_magic_quotes_gpc()) {
        $sql = addslashes($sql);
    }
    return $sql;
}
nl2br(htmlentities($comment));