如何交表单的textarea提交的文本的回车,转化为
有什么办法把在表单的textarea里提交的回车符转化为象
这样的html标记呢?在写入数据库前转化好?还是从数据库里读出来以后转化好?
能给个具体的代码吗?
回复讨论(解决方案)
我在网上搜到了这样的答案,就是在保存到数据库的时候,不作处理。读出来的时候,用这条语句:
CurrentContent = conn.myReader["Content"].ToString().Replace( Convert.ToString( ( char ) 13 ), "
" );
可这是面向对象的方法,我不太懂。翻译成面向过程的语句是什么?
你是要php代码还是要什么代码?
你是要php代码还是要什么代码?
是php代码。
我自己的程序是,用$select = mysql_query("select....")语句已经查询出一个结果。
下面我用来取数据:
while($arr = mysql_fetch_array($result))
{
}
其中我需要的字段在$arr[txt]中,然后怎么处理它,才能把其中的回车符转化为
?
echo nl2br($arr[txt]) ;
http://blog.csdn.net/beyondqqiang/article/details/8893663
这里应该可以帮到你的
http://blog.csdn.net/beyondqqiang/article/details/8893663
这里应该可以帮到你的
感谢你提供的资料,这里面说的比较复杂,用了什么正则表达式,我也没学过正则表达式。而且它功能也复杂,就是把多行回车转化为一个
我的要求很简单,就是把textarea里提交的一个回车转化为一个
,你能帮我写一下代码吗?据说存入数据库的时候不变。读出来的时候处理,我读出的语句是:
$select = mysql_query("select....")
while($arr = mysql_fetch_array($result))
{
。。。处理语句
}
其中我需要的字段在$arr[txt]中,然后怎么处理它,才能把其中的回车符转化为
?
用nl2br($arr[txt])没有达到目的,仍然没有换行。
我自己写了一条:
str_replace((char(13)), "
", $arr[txt]);
好象有语法问题,直接页面打开是空白。(这暗示这个php中有些语句有语法错误。)
$arr['txt'] = nl2br($arr['txt']);
str_replace((char(13)), "
", $arr[txt]);
是错误的,因为 php 没有 char 函数,只有 chr 函数
但是写做 chr(13) 也是不妥的,因为 linux 下的文本中并没有这个“回车”符所以自己写的话,应写作
$arr['txt'] = preg_replace("/[\r\n]+/", "
", $arr['txt']);
$arr['txt'] = nl2br($arr['txt']);
str_replace((char(13)), "
", $arr[txt]);
是错误的,因为 php 没有 char 函数,只有 chr 函数
但是写做 chr(13) 也是不妥的,因为 linux 下的文本中并没有这个“回车”符所以自己写的话,应写作
$arr['txt'] = preg_replace("/[\r\n]+/", "
", $arr['txt']);
谢谢!用你这个语句就行了,虽然我不太懂是什么意思。主要就是第一个参数不太懂,以后再学习。
除非你的$arr['txt']没有文本换行,要不然nl2br 不会没有达到目的。
$arr['txt'] = nl2br($arr['txt']);
str_replace((char(13)), "
", $arr[txt]);
是错误的,因为 php 没有 char 函数,只有 chr 函数
但是写做 chr(13) 也是不妥的,因为 linux 下的文本中并没有这个“回车”符所以自己写的话,应写作
$arr['txt'] = preg_replace("/[\r\n]+/", "
", $arr['txt']);
能不能麻烦你再帮我写一条把textarea中的空格转化为 的语句?我暂时对这些表达式还没有学过。
$arr['txt'] = nl2br($arr['txt']);
str_replace((char(13)), "
", $arr[txt]);
是错误的,因为 php 没有 char 函数,只有 chr 函数
但是写做 chr(13) 也是不妥的,因为 linux 下的文本中并没有这个“回车”符所以自己写的话,应写作
$arr['txt'] = preg_replace("/[\r\n]+/", "
", $arr['txt']);
谢谢!用你这个语句就行了,虽然我不太懂是什么意思。主要就是第一个参数不太懂,以后再学习。
这个“/[\r\n]+/”是文件中的换行符号,但是用那个nl2br函数就可以将textarea中输入的换行符号转换成
,因为文本域中的换行符号是“\n”不是“\r\n”。nl2br函数没效果可能是你在文本域中没有敲回车吧。
那是正则
$arr['txt'] = nl2br($arr['txt']);
str_replace((char(13)), "
", $arr[txt]);
是错误的,因为 php 没有 char 函数,只有 chr 函数
但是写做 chr(13) 也是不妥的,因为 linux 下的文本中并没有这个“回车”符所以自己写的话,应写作
$arr['txt'] = preg_replace("/[\r\n]+/", "
", $arr['txt']);
谢谢!用你这个语句就行了,虽然我不太懂是什么意思。主要就是第一个参数不太懂,以后再学习。
这个“/[\r\n]+/”是文件中的换行符号,但是用那个nl2br函数就可以将textarea中输入的换行符号转换成
,因为文本域中的换行符号是“\n”不是“\r\n”。nl2br函数没效果可能是你在文本域中没有敲回车吧。
敲回车,显示出来却没有换行。
除非你的$arr['txt']没有文本换行,要不然nl2br 不会没有达到目的。
请问,nl2br这个函数,是把值为0x0d,0x0a(16进制的回车换行)这两个转换为
嘛?
$arr['txt'] = nl2br($arr['txt']);
str_replace((char(13)), "
", $arr[txt]);
是错误的,因为 php 没有 char 函数,只有 chr 函数
但是写做 chr(13) 也是不妥的,因为 linux 下的文本中并没有这个“回车”符所以自己写的话,应写作
$arr['txt'] = preg_replace("/[\r\n]+/", "
", $arr['txt']);
请问,能帮我再写个把空格转换为 的语句吗?
$s = str_replace(' ', ' ', $s);
nl2br这个函数,是在 回车(0x0d) 换行(0x0a)前面加一个 '
' 串
前台用js处理下 replace(/\n|\r|(\r\n)|(\u0085)|(\u2028)|(\u2029)/g, "
");
$arr['txt'] = nl2br($arr['txt']);
str_replace((char(13)), "
", $arr[txt]);
是错误的,因为 php 没有 char 函数,只有 chr 函数
但是写做 chr(13) 也是不妥的,因为 linux 下的文本中并没有这个“回车”符所以自己写的话,应写作
$arr['txt'] = preg_replace("/[\r\n]+/", "
", $arr['txt']);
我发现你给的这个语句:$arr['txt'] = preg_replace("/[\r\n]+/", "
", $arr['txt']);
是可以把回车转化为
,并且在最后的网页上换行了。
但是它好象会把几行回车转化为一个
,最后的结果是:我发贴的时候:空了好几行,最后显示的时候,却只换了一行。想挺入空行,增大间隔,也不可能了。
那么如果想一个回车转化为一个
应该怎么办呢?
经过试验,我发现nl2br函数是可以的,但如果这样就不行:
$arr[txt] = nl2br($arr[txt]);
但是改成这样就行了:
$str = nl2br($arr[txt]);
然后显示$str,发现正常换行了,不知是什么原因。
而且它也可以把多行回车解释成多个
,显示的时候也是多个换行,这正是我需要的。谢谢!
str_replace(" ", " ", $arr[txt]);
经过试验,我发现nl2br函数是可以的,但如果这样就不行:
$arr[txt] = nl2br($arr[txt]);
但是改成这样就行了:
$str = nl2br($arr[txt]);
然后显示$str,发现正常换行了,不知是什么原因。
而且它也可以把多行回车解释成多个
,显示的时候也是多个换行,这正是我需要的。谢谢!
$arr[txt] 不行?你怎么显示的? 之后又对它动了手脚吧。
这是我成功过的
$select = mysql_query("select....") while($arr = mysql_fetch_array($result)) { echo str_replace(" ", " ", $arr['txt']); }
我在网上搜到了这样的答案,就是在保存到数据库的时候,不作处理。读出来的时候,用这条语句:
CurrentContent = conn.myReader["Content"].ToString().Replace( Convert.ToString( ( char ) 13 ), "
" );
可这是面向对象的方法,我不太懂。翻译成面向过程的语句是什么?
翻一下,读出Content字段数据,转换成字符串格式,将回车字符换成
。
直接用
扩起来
下一篇: 查看指定回帖问题