首 页   · 站长博客 · 用户注册 · 会员登陆  · 会员排行  ·最新主题  ·最近回复  精华区  版权声明  ·论坛管理
  当前登录身份:游客,请先登录。  笔名: 口令: 验证码:   
楼 主  index »  PHP+MYSQL编程 » [求助]字符处理  


  作者:slopesun
  注册时间:2004-09-07
  主题/回复:58/67
  积分:753
  等级:★★★(六级)
  称号:声名鹊起

  ken.wang@esolux...
  185627321
  www.

 

 发表:2004-12-05 02:58:34 阅读 2038 次 回复 1 次 得分1  |   字号 字色
[求助]字符处理
在将字段插入到数据库前txt_givesubject进行了下面的处理:
$txt_givesubject=addslashes($_POST[txt_givesubject]);   $txt_givesubject=nl2br($txt_givesubject);
到数据库中的col_tGiveSub
管理员对对用户信息进行更改时显示用户的信息
<td><textarea name=txt_tgivesubject rows=5 ><?echo  stripslashes($sql_arr[col_tGiveSub]);?></textarea></td>

现在的问题是:
比如用户打入字符时有回车,在数据库中看到的一种情况所示如下
计算机<br />
数学<br />
物理<br />
语文

为什么<td><textarea name=txt_tgivesubject rows=5 ><?echo  stripslashes($sql_arr[col_tGiveSub]);?></textarea></td>不能显示
计算机
数学
物理
语文

应该如何处理才能显示正常
 
 1#楼  
 
  回复人:一起PHP
  注册时间:2004-02-27
  主题/回复:247/1521
  积分:4649
  等级:★★★★★☆(十一级)
  称号:论坛圣人

   
 1#楼 发表于2004-12-05 22:52:51  评分:1 

你在数据插入数据库之前将 回车 替换成了 <br> ,所以你的文本里面已经不再包含回车。
php中的nl2br()函数,把回车替换成了 <br /> 我估计是一个bug,我们可以用手工方法再把<br />替换成 <br>。比如,我这个论坛就是用下面的函数,将输入的内容进行替换:
------------------------------------------------
function formatInput($content)
{
    $content=str_replace(" "," ",$content);
    $content=str_replace(" "," ",$content);
    $content=str_replace("<","<",$content);
    $content=str_replace(">",">",$content);
    $content=nl2br($content);
    $content=str_replace("<br />","<br>",$content);
    return $content;
}
---------------------------------------------------------
其中包括了空格,换行,特殊html符号等替换。
这样替换之后写入数据库,在网页中显示的时候,可以直接输出,在textarea中显示的时候,这样:
<textarea ><?php echo str_replace("<br>","",$artinfo["title_content"]);?></textarea>

这样就ok了。
  页数1/1首页 « 1 » 末页
  发表回复:您还没有登陆,无法发表回复。请先[登陆]

一起PHP技术联盟 主办:一起PHP 联系方式:站长QQ:4304410 QQ群:8423742 20159565 站长博客 E-mail: nqp@nqp.me 执行时间:0.23sec
SimsmaBBS 2008 (v6.0) Developed by 17php.com,Copyright(C)2003-2010 All rights reserved. 副本授权:一起PHP官方专用版