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 相关文章推荐
PHP全概率运算函数(优化版) Webgame开发必备
Jul 04 PHP
深入解析php中的foreach问题
Jun 30 PHP
PHP实现把MySQL数据库导出为.sql文件实例(仿PHPMyadmin导出功能)
May 10 PHP
php连接oracle数据库及查询数据的方法
Dec 29 PHP
php继承中方法重载(覆盖)的应用场合
Feb 09 PHP
浅谈本地WAMP环境的搭建
May 13 PHP
PHP实现在线阅读PDF文件的方法
Jun 23 PHP
php实现复制移动文件的方法
Jul 29 PHP
yii2控制器Controller Ajax操作示例
Jul 23 PHP
用PHP的socket实现客户端到服务端的通信实例详解
Feb 04 PHP
关于php支持的协议与封装协议总结(推荐)
Nov 17 PHP
YII分模块加载路由的实现方法
Oct 01 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使用google地图应用实例
2014/12/31 PHP
JavaScript 实现模态对话框 源代码大全
2009/05/02 Javascript
该如何加载google-analytics(或其他第三方)的JS
2010/05/13 Javascript
根据出生日期自动取得星座的js代码
2010/07/20 Javascript
JQuery自定义事件的应用 JQuery最佳实践
2010/08/01 Javascript
javascript闭包的理解
2015/04/01 Javascript
微信 java 实现js-sdk 图片上传下载完整流程
2016/10/21 Javascript
nodejs中模块定义实例详解
2017/03/18 NodeJs
ES6入门教程之let和const命令详解
2017/05/17 Javascript
微信小程序实现滑动删除效果
2017/05/19 Javascript
Angular中ng-repeat与ul li的多层嵌套重复问题
2017/07/24 Javascript
30分钟快速入门掌握ES6/ES2015的核心内容(上)
2018/04/18 Javascript
JS 数组随机洗牌的实例代码
2018/09/12 Javascript
微信小程序实现笑脸评分功能
2018/11/03 Javascript
Vue 动态组件与 v-once 指令的实现
2019/02/12 Javascript
vue视图不更新情况详解
2019/05/16 Javascript
Vue时间轴 vue-light-timeline的用法说明
2020/10/29 Javascript
详解微信小程序(Taro)手动埋点和自动埋点的实现
2021/03/02 Javascript
python实现人人网登录示例分享
2014/01/19 Python
浅谈Python peewee 使用经验
2017/10/20 Python
python获取引用对象的个数方式
2019/12/20 Python
pytorch GAN伪造手写体mnist数据集方式
2020/01/10 Python
python集成开发环境配置(pycharm)
2020/02/14 Python
深入解读CSS3中transform变换模型的渲染
2016/05/27 HTML / CSS
轻松制作精彩视频:Animoto
2018/09/19 全球购物
Ted Baker美国官网:英国时尚品牌
2018/10/29 全球购物
重写子类方法时,抛出异常的书写注意事项
2015/10/17 面试题
电大物流学生的自我评价
2013/10/25 职场文书
浪漫婚礼主持词
2014/03/14 职场文书
2014年光棍节活动策划方案(创意集锦)
2014/09/29 职场文书
一年级数学下册复习计划
2015/01/17 职场文书
反腐倡廉主题教育活动总结
2015/05/07 职场文书
Vue.js 带下拉选项的输入框(Textbox with Dropdown)组件
2021/04/17 Vue.js
i7 6700处理器相当于i5几代
2022/04/19 数码科技
如何Tomcat中使用ipv6地址
2022/05/06 Servers
python语言中pandas字符串分割str.split()函数
2022/08/05 Python