lzth.net
当前位置:首页 >> tExtArEA输入的换行符用php的ExploDE("\r\n", $BoDy... >>

tExtArEA输入的换行符用php的ExploDE("\r\n", $BoDy...

客户端发来的textarea的内容用explode("\n", $body)来切分,不要用\r\n,无论客户端、服务端是Linux还是Windows都一样.explode返回的结果就是你要的了,不要用str_replace来替换了

把这样的一段纯文本复制到textarea文本框中 但是在数据库中,或者在展现页面的时候让他可以每行都带上一个p或者li的html标签,为他添加样式呢?换句话说,就是让他可以识别换行呢? 方法/步骤 其实post过去的请求是带有换行内容的,可以使用这样

使用preg_split函数可以实现,例如textarea的名称为ttt,也就是FORM格式为:<textarea name=ttt></textarea> 那么用下面的语句可以把提交的内容按空格或者换行转换为数组$arr:$arr=preg_split('/\s+/', $_POST['ttt']);

<?php$aa = "aaa bbb cccc dddd eee fff";$array = str_replace("\r"," ",$aa);$array = str_replace("\n"," ",$array);$array = explode(" ",$array);var_dump(array_filter($array));?>

我也遇到了相同的问题,后来发现是插入字符串的方式出了问题.用 textarea.value = str 的方法,就可以正常显示换行,用 textarea.innerHTML = str 的方法,就无法换行了.

count是计算数组或Object的第一层元素的个数,当然不能去计算字符串的行数了textarea里的行标志应该是"\n"(或'\n'或'\r\n'或"\r\n"),那么可以用explore把它化成数组后count计算就行了$test = explode("\n", $_POST['test']);//若不行的话换成'\n'或'\r\n'或"\r\n"echo count($test);

在标签中添加rows属性,例如:<textarea name="content" id="content" style="float: left;" wrap="virtual" rows='10'></textarea> 这就是一个具有10行的文本框.

用replace和正则表达式结合,一次替换所有的\r\n.var reg=new RegExp("\r\n","g");str= str.replace(reg,"");这样str中所有的\r\n就替换成了.然后可以将其存入数据库.在取出的时候 只用将值在替换回来即可var reg=new RegExp("","

一楼的思路是正确的,但是,楼主的做法是还是要放在 textarea 中,那么,我们进行字符串替换时,就应该替换为 (也就是 textarea 可识别的换行符)也就是利用Java处理,然后显示到页面:yourContent = yourContent.replaceAll("\\n"," ");严格说来,textarea 读取的字符时 \r\n ,所以严格的方式应该是:yourContent = yourContent.replaceAll("\\r\\n"," ");

通常情况下,当用户在输入文本区域中键入文本后,浏览器会将它们按照键入时的状态发送给服务器.只有用户按下 Enter 键的地方生成换行. 如果您希望启动自动换行功能(word wrapping),请将 wrap 属性设置为 virtual 或 physical.当用户

相关文档
网站首页 | 网站地图
All rights reserved Powered by www.lzth.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com