用textarea接受换行符以及多换行符的处理
来源:互联网 发布:更新ios10app网络错误 编辑:程序博客网 时间:2024/06/08 11:17
首先说明下问题的缘由:
而且上面这两行代码是必须的,否则你就会出现我说的那个问题。
就是我们一般做留言板的时候是用textarea做接收的,那么textarea默认是不接收换行符号的,所以就产生了这个问题。那要让textarea接收换行可以直接用nl2br()这个函数类解决。但是这样就又产生了一个问题,那就是我如果我输入如下的形式:
那我们接收之后出现的问题就是其实用户只输入了几个没用的字符,但是里面又包含很多的换行,那在浏览器解析完这个内容之后如果换行符号很多,那就会出现有一条内容很长可能占据你整个网页的高度,使得别人看的时候会出现很长的滚动条,那这种体验是不好的,所以我们需要即可以让textarea接收换行但是又不会出现上述的问题,那怎么办呢?就用如下代码解决吧:
$str = preg_replace('/(<br \/>)/', '\n', nl2br($_POST['content']));$str = preg_replace('/(\\\n\s[^.]){1,}/', '<br />', $str);
而且上面这两行代码是必须的,否则你就会出现我说的那个问题。
另外就是对于编辑器中也同样有这个问题,比如一个CSDN的论坛,别人回复帖子的时候就可以在开始位置写几个字符,然后结尾也是几个字符,然后在中间按住回车键不动,你可以按几分钟之后再松开,然后你点击回复,那你看看你回复之后这个页面变成了什么样,那编辑器的这种可接收换行但又不想出现我说的那种问题的方法的解决办法是很简单的,因为不同的编辑器对于换行的表示是不同的,像我用ueditor测试的时候它的换行表示是:“<p><br /><\/p>”
那你要处理这种很多的换行的话,仅仅需要一个正则替换就可以了,因为从编辑器获取来的数据都是一个长字符串在代码处理上看是输入一行,所以不需要事先加换行符,这就是为什么上面的代码中必须做第一次替换的原因。
- 用textarea接受换行符以及多换行符的处理
- textarea里的换行符
- textarea的换行分隔符
- textarea换行符的显示
- javascript textarea的换行符
- 不同浏览器对于textarea中换行符的处理
- textarea换行符
- textarea 内容换行符
- textarea 换行显示处理
- textarea框换行处理
- textarea换行处理
- lotus中Textarea 换行符
- js 删除 textarea换行符
- 常见textarea换行问题的处理方法
- 处理textarea的空格和换行
- PHP处理textarea post上来的文本的换行符等等
- textArea的换行问题
- 关于(textarea)回车换行符在提交请求(URL)时消失的处理
- php的autoload机制的实现解析
- Android 中的BroadCastReceiver
- Dependency Injection with Autofac
- Eclipse 开发Tuscany应用
- 解决libxml2不支持中文的问题
- 用textarea接受换行符以及多换行符的处理
- vim基本命令
- 在ubuntu上关闭tomcat的自启动
- Android自定义属性时TypedArray的使用方法
- Sqlserver自关联
- [一分钟先生]倪邵峰:管理者应具备的能力与素质
- php array_multisort 排序
- java获取时间
- [一分钟先生]张彤:技术转型做管理,只靠技术提升还远远不够