Php 回音时如何用换行符\r\n替换?

Php 回音时如何用换行符\r\n替换?,php,nl2br,Php,Nl2br,我正在使用以下代码保护我的字符串以将其插入数据库: function protect($string){ $string = mysql_real_escape_string($string); return $string; } function echoprotect($string){ $string = nl2br($string); $string = stripslashes($string); return $string; }

我正在使用以下代码保护我的字符串以将其插入数据库:

function protect($string){

    $string = mysql_real_escape_string($string);

    return $string;
}
function echoprotect($string){

    $string = nl2br($string);
    $string = stripslashes($string);

    return $string;
}
然后,我使用以下代码取消对其的保护,以便可以从数据库中回显:

function protect($string){

    $string = mysql_real_escape_string($string);

    return $string;
}
function echoprotect($string){

    $string = nl2br($string);
    $string = stripslashes($string);

    return $string;
}
nl2br似乎不起作用,我不知道为什么。我得到的结果是:

他知道内容等

而不是:

你好

内容等

从手册中:

mysql\u real\u escape\u string()调用mysql的库函数 mysql\u real\u escape\u字符串,其中 将反斜杠前置到以下内容 字符:\x00,\n\r,\,” 和\x1a

因此
nl2br()
忽略了转义的\n和\r,我认为。

手册:

mysql\u real\u escape\u string()调用mysql的库函数 mysql\u real\u escape\u字符串,其中 将反斜杠前置到以下内容 字符:\x00,\n\r,\,” 和\x1a


所以
nl2br()
忽略了转义的\n和\r,我想。

magic\u quotes\u gpc是否处于活动状态?如果是,那么您应该尝试在mysql\u real\u转义字符串之前使用stripslashes。尝试在nl2br之前使用stripslashes。不,我已经使用htaccess文件将其关闭。magic\u quotes\u gpc是否处于活动状态?如果是,那么您应该尝试在mysql\u real\u转义字符串之前使用stripslashes。尝试在nl2br之前使用stripslashes。不,我已经使用htaccess文件将其关闭。当我要回显它时,如何将其反转?尝试反转
echoprotect()
中两条语句的顺序。我得到Hellorn这是一个换行符,而不是实际的换行符,stripslashes有效,但nl2br无效,如果我删除了带斜线,我会得到完全相同的,但只是斜线!我很快就要删除这篇文章,因为我觉得它没有用-我以为我知道了什么,现在我完全糊涂了:)等等-试试
$string=str\u replace(“\\”、“\”、$string;
而不是
stripslashes
。当我要回显它时,如何反转它?请尝试反转
echoprotect()中两条语句的顺序
。我明白了。这是一个换行符,而不是实际的换行符,stripslashes有效,但nl2br不起作用,如果我删除了stripslashes,我会得到完全相同的结果,但只有slashes!我很快就会删除这篇文章,因为我认为它没有帮助-我以为我知道了什么,现在我完全糊涂了:)挂断-请尝试使用
$string=str\u replace(“\\\”、“\\”、$string;
而不是
stripslashes