textarea里面的内容从页面保存到数据库的时候已经用到str_replace()来转换字符,所以在数据显示的时候能看见有空格和换行,但是从数据库取出数据的时候,即便再次转换字符,也不能够实现换行和多个空格!请告诉帮助!
PS:请用纯PHP,暂时不需要JS。数据库用的是MySQL
整个思路就是错的,我给你理清一下,你看哪个方便啊。
你现在的做法:
提交数据,用STR_REPLACE转换,然后保存,显示时可以直接显示,但需要再编辑时又要用STR_REPLACE转换过来,你累不累啊。
其实只用转换一次就行了。
就是:提交保存时,直接保存无需转换,编辑时直接编辑无需转换,实际上就跟本不用转换嘛,只用在显示的地方转换一次就行了。你说呢?这样做还有个好处就是可以保存数据库的原始值不动,像你那转样转换来转换去,里面数据早乱了。
你现在的做法:
提交数据,用STR_REPLACE转换,然后保存,显示时可以直接显示,但需要再编辑时又要用STR_REPLACE转换过来,你累不累啊。
其实只用转换一次就行了。
就是:提交保存时,直接保存无需转换,编辑时直接编辑无需转换,实际上就跟本不用转换嘛,只用在显示的地方转换一次就行了。你说呢?这样做还有个好处就是可以保存数据库的原始值不动,像你那转样转换来转换去,里面数据早乱了。
温馨提示:答案为网友推荐,仅供参考
第1个回答 2011-12-09
textarea里面的内容在写入数据库时不需要转换字符 只需要用addslashes()函数为预定义字符添加反斜杠,在读取数据库完成输出的时候用stripslashes() 删除反斜杠就可以了
程序:
======写入==================
$a="写入字符";
$a=addslashes($a);
mysql insert($a)
======读取==================
$a=mysql select($a)
echo stripslashes($a);
========================
以上就原理 具体代码你应该可以搞定的
程序:
======写入==================
$a="写入字符";
$a=addslashes($a);
mysql insert($a)
======读取==================
$a=mysql select($a)
echo stripslashes($a);
========================
以上就原理 具体代码你应该可以搞定的