PHP使用preg_split和explode分割textarea存放内容的方法分析


Posted in PHP onJuly 03, 2017

本文实例讲述了PHP使用preg_split和explode分割textarea存放内容的方法。分享给大家供大家参考,具体如下:

今天有个紧急的bug,说是后台在配置了白名单后,在手机端app无效,仍然显示内容。收到邮件后,便走了遍流程,发现后台配置白名单是在textarea里配置的,一行一个,再在代码里看,使用的是explode函数分割,其中分隔符使用的是\r\n,代码大致如下

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
)
PHP 相关文章推荐
把从SQL中取出的数据转化成XMl格式
Oct 09 PHP
PHP网站基础优化方法小结
Sep 29 PHP
php中获取远程客户端的真实ip地址的方法
Aug 03 PHP
PHP源码之explode使用说明
Aug 05 PHP
PHP操作Memcache实例介绍
Jun 14 PHP
探讨:如何使用PhpDocumentor生成文档
Jun 25 PHP
PHP将两个关联数组合并函数提高函数效率
Mar 18 PHP
一个基于phpQuery的php通用采集类分享
Apr 09 PHP
让你的PHP7更快之Hugepage用法分析
May 31 PHP
PHP请求远程地址设置超时时间的解决方法
Oct 29 PHP
php批量转换文件夹下所有文件编码的函数类
Aug 06 PHP
浅析PHP7的多进程及实例源码
Apr 14 PHP
PHP简单获取上月、本月、近15天、近30天的方法示例
Jul 03 #PHP
thinkPHP多表查询及分页功能实现方法示例
Jul 03 #PHP
PHP+Ajax实现的无刷新分页功能详解【附demo源码下载】
Jul 03 #PHP
PHP 返回数组后处理方法(开户成功后弹窗提示)
Jul 03 #PHP
php获取文章内容第一张图片的方法示例
Jul 03 #PHP
PHP中$GLOBALS['HTTP_RAW_POST_DATA']和$_POST的区别分析
Jul 03 #PHP
PHP不使用内置函数实现字符串转整型的方法示例
Jul 03 #PHP
You might like
PHP让数组中有相同值的组成新的数组实例
2017/12/31 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
Firefox中beforeunload事件的实现缺陷浅析
2012/05/03 Javascript
常见表单重复提交问题整理及解决方法
2013/11/13 Javascript
现代 JavaScript 开发编程风格Idiomatic.js指南中文版
2014/05/28 Javascript
超链接的禁用属性Disabled使用示例
2014/07/31 Javascript
鼠标事件的screenY,pageY,clientY,layerY,offsetY属性详解
2015/03/12 Javascript
使用jQuery在对象中缓存选择器的简单方法
2015/06/30 Javascript
jQuery插件fullPage.js实现全屏滚动效果
2016/12/02 Javascript
浅谈Angular的$q, defer, promise
2016/12/20 Javascript
JavaScript实现无刷新上传预览图片功能
2017/08/02 Javascript
[js高手之路]寄生组合式继承的优势详解
2017/08/28 Javascript
通过vue-cli来学习修改Webpack多环境配置和发布问题
2017/12/22 Javascript
vue 右键菜单插件 简单、可扩展、样式自定义的右键菜单
2018/11/29 Javascript
vscode下vue项目中eslint的使用方法
2019/01/13 Javascript
利用Vue-draggable组件实现Vue项目中表格内容的拖拽排序
2019/06/07 Javascript
解决layui使用layui-icon出现默认图标的问题
2019/09/11 Javascript
Vue实现base64编码图片间的切换功能
2019/12/04 Javascript
JS通用方法触发点击事件代码实例
2020/02/17 Javascript
vue实现简单学生信息管理
2020/05/30 Javascript
在windows下Python打印彩色字体的方法
2018/05/15 Python
使用Python写一个量化股票提醒系统
2018/08/22 Python
Python3中的bytes和str类型详解
2019/05/02 Python
python之array赋值技巧分享
2019/11/28 Python
opencv3/C++图像像素操作详解
2019/12/10 Python
Python+redis通过限流保护高并发系统
2020/04/15 Python
管理站站长岗位职责
2013/11/27 职场文书
毕业生就业推荐信范文
2013/12/01 职场文书
关于工资低的辞职信
2014/01/14 职场文书
大学生村官座谈会发言材料
2014/05/25 职场文书
单位活动策划方案
2014/08/17 职场文书
竞选大学学委演讲稿
2014/09/13 职场文书
银行员工犯错检讨书
2014/09/16 职场文书
2015年大学生村官工作总结
2015/04/21 职场文书
详解Python类和对象内容
2021/06/22 Python
Java实现给Word文件添加文字水印
2022/02/15 Java/Android