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&mysql(六)
Oct 09 PHP
针对初学PHP者的疑难问答(2)
Oct 09 PHP
粗略计算在线时间,bug:ip相同
Dec 09 PHP
《PHP编程最快明白》第五讲:php目录、文件操作
Nov 01 PHP
mongo Table类文件 获取MongoCursor(游标)的实现方法分析
Jul 01 PHP
跨浏览器PHP下载文件名中的中文乱码问题解决方法
Mar 05 PHP
php递归函数三种实现方法及如何实现数字累加
Aug 07 PHP
php实现等比例不失真缩放上传图片的方法
Nov 14 PHP
php PDO异常处理详解
Nov 20 PHP
php 广告点击统计代码(php+mysql)
Feb 21 PHP
Laravel5.7 数据库操作迁移的实现方法
Apr 12 PHP
php的RSA加密解密算法原理与用法分析
Jan 23 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
一个简洁的多级别论坛
2006/10/09 PHP
PHP 应用程序的安全 -- 不能违反的四条安全规则
2006/11/26 PHP
php学习笔记之 函数声明(二)
2011/06/09 PHP
windows7下安装php的imagick和imagemagick扩展教程
2014/07/04 PHP
php中Socket创建与监听实现方法
2015/01/05 PHP
浅谈PHP发送HTTP请求的几种方式
2017/07/25 PHP
Redis在Laravel项目中的应用实例详解
2017/08/11 PHP
通过Javascript将数据导出到外部Excel文档的函数代码
2012/06/15 Javascript
chrome不支持form.submit的解决方案
2015/04/28 Javascript
js实现发送验证码后的倒计时功能
2015/05/28 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
Vue.js常用指令汇总(v-if、v-for等)
2016/11/03 Javascript
Vue.js之slot深度复制详解
2017/03/10 Javascript
jQuery实现判断上传图片类型和大小的方法示例
2018/04/11 jQuery
bootstrap table合并行数据并居中对齐效果
2018/10/17 Javascript
详解使用element-ui table组件的筛选功能的一个小坑
2018/11/02 Javascript
node Buffer缓存区常见操作示例
2019/05/04 Javascript
微信小程序云开发详细教程
2019/05/16 Javascript
使用eslint和githooks统一前端风格的技巧
2020/07/29 Javascript
使用python 获取进程pid号的方法
2014/03/10 Python
Python中实现字符串类型与字典类型相互转换的方法
2014/08/18 Python
一键搞定python连接mysql驱动有关问题(windows版本)
2016/04/23 Python
python编写分类决策树的代码
2017/12/21 Python
python2 与python3的print区别小结
2018/01/16 Python
python实现基于信息增益的决策树归纳
2018/12/18 Python
python安装virtualenv虚拟环境步骤图文详解
2019/09/18 Python
Python搭建代理IP池实现获取IP的方法
2019/10/27 Python
Python3常见函数range()用法详解
2019/12/30 Python
Python接口开发实现步骤详解
2020/04/26 Python
Pycharm github配置实现过程图解
2020/10/13 Python
小学老师寄语大全
2014/04/04 职场文书
质检员岗位职责
2015/02/03 职场文书
《普罗米修斯》教学反思
2016/02/22 职场文书
2019年学校消防安全责任书(2篇)
2019/10/09 职场文书
详解php中流行的rpc框架
2021/05/29 PHP
redis 解决库存并发问题实现数量控制
2022/04/08 Redis