$txt=nl2br($txt);
把$txt写入数据库时用了上面一句,可从数据库调出时,$txt不换行,请问该怎么办?请把下面几句的作用给解释一下,谢谢!
$txt=StripSlashes($txt);   
$txt=htmlspecialchars($txt);
$txt=nl2br($txt);

解决方案 »

  1.   

    你的不换行问题用str_replace("\n","<br />",$txt)直接换掉就可以了,下面那些不懂的函数你自己去查手册吧
      

  2.   

    建议楼主试一下,很有可能在nl2br的时候,<br />已经被K掉了,所以进数据库的时候没有<br />,自然不会出现你说的换行了。
      

  3.   

    function br2nl($string)
    {
        return preg_replace('/\<br(\s*)?\/?\>/i', "\n", $string);
    }//这个反向换行
      

  4.   

    我来帮你查下吧,呵呵$txt=StripSlashes($txt);  //本函数可去掉字符串中的反斜线字符。若是连续二个反斜线,则去掉一个,留下一个。若只有一个反斜线,就直接去掉。
    $txt=htmlspecialchars($txt); //转换特殊字符为HTML字符编码。
    $txt=nl2br($txt); //可将字符串中的换行符转成HTML的换行符号
      

  5.   

    先将$txt的换行符转换成别的符号,等到调用时再转换回来就OK了