使用preg_split和explode分割textarea存放的内容
2015-07-15 17:18
253 查看
今天有个紧急的bug,说是后台在配置了白名单后,在手机端app无效,仍然显示内容。收到邮件后,便走了遍流程,发现后台配置白名单是在textarea里配置的,一行一个,再在代码里看,使用的是explode函数分割,其中分隔符使用的是\r\n,代码大致如下
之后,我便在自己的开发机上测试了下,发现这压根不会分割textarea存入数据库的内容,于是在手册上找,发现了一个很有用的函数preg_split
【update】
下午的时候经同事提醒,发现原来是分割符有问题,因为在chrome和firefox浏览器中textarea是带\n的换行符,而在ie中是\r\n的换行符,于是使用str_replace替换了下
explode('\r\n', $val);
之后,我便在自己的开发机上测试了下,发现这压根不会分割textarea存入数据库的内容,于是在手册上找,发现了一个很有用的函数preg_split
$str = '1 2 3 4 5'; print_r(preg_split("/\n/",$str)); /* Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 ) */
【update】
下午的时候经同事提醒,发现原来是分割符有问题,因为在chrome和firefox浏览器中textarea是带\n的换行符,而在ie中是\r\n的换行符,于是使用str_replace替换了下
$str = '1 2 3 4 5'; print_r(explode("\n", str_replace("\r\n", "\n", $str))); Array ( [0] => 1 [1] => 2 [2] => 3 [3] => 4 [4] => 5 )
相关文章推荐
- [Elasticsearch] 控制相关度 (二) - Lucene中的PSF(Practical Scoring Function)与查询期间提升
- ubuntu系统查找命令
- CentOS yum 命令出现 [Errno 14] curl#6 - "Couldn't resolve host ..." 的解决方法
- PC端一些非经典兼容性问题小札
- HTML5新标签video在iOS上默认全屏播放
- android PopupWindow实现从底部弹出或滑出选择菜单或窗口
- 运放物品的模电压
- Roll-a-Ball教程学习笔记(未整理)
- zend studio 11 创建WDSL文件
- 推荐系统笔记
- UIViewController生命周期
- javascript操作Document对象
- Objective-C语言--self和super关键字解析
- MATLAB中常用的产生随机数的几种函数
- powerbuilder导出数据到Excel表
- [Elasticsearch] 控制相关度 (一) - 相关度分值计算背后的理论
- open()函数 linux中open函数使用
- .Net学习笔记----2015-07-15(HTML+CSS练习)
- Codeforces Round #312 (Div. 2)
- Java中的重载、重写、多态,静态绑定、动态绑定