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.NET的入门教程
Oct 09 PHP
收集的DedeCMS一些使用经验
Mar 17 PHP
php zip文件解压类代码
Dec 02 PHP
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
Jun 29 PHP
php读取大文件示例分享(文件操作类)
Apr 13 PHP
thinkphp实现数组分页示例
Apr 13 PHP
php计算函数执行时间的方法
Mar 20 PHP
php开发工具有哪五款
Nov 09 PHP
学习php设计模式 php实现门面模式(Facade)
Dec 07 PHP
PHP两种实现无级递归分类的方法
Mar 02 PHP
PHP微信企业号开发之回调模式开启与用法示例
Nov 25 PHP
Laravel框架使用Seeder实现自动填充数据功能
Jun 13 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
《雄兵连》系列首部大电影《烈阳天道》:可能是因为期望值太高了
2020/08/18 国漫
关于PhpStorm设置点击编辑文件自动定位源文件的实现方式
2020/12/30 PHP
关于jQuery参考实例 1.0 jQuery的哲学
2013/04/07 Javascript
防止浏览器记住用户名及密码的简单实用方法
2013/04/22 Javascript
Ext中下拉列表ComboBox组件store数据格式用法介绍
2013/07/15 Javascript
javascript中scrollTop详解
2015/04/13 Javascript
javascript的函数劫持浅析
2016/09/26 Javascript
jQuery将表单序列化成一个Object对象的实例
2016/11/29 Javascript
手机端转换rem适应
2017/04/01 Javascript
JS简单添加元素新节点的方法示例
2018/02/10 Javascript
微信小程序基础教程之worker线程的使用方法
2019/07/15 Javascript
小程序实现上下移动切换位置
2019/09/23 Javascript
使用p5.js实现动态GIF图片临摹重现
2019/10/23 Javascript
解决Angularjs异步操作后台请求用$q.all排列先后顺序问题
2019/11/29 Javascript
[54:27]TNC vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
[48:24]完美世界DOTA2联赛循环赛LBZS vs Forest 第一场 10月30日
2020/10/31 DOTA
python with statement 进行文件操作指南
2014/08/22 Python
python引用DLL文件的方法
2015/05/11 Python
Python 使用Numpy对矩阵进行转置的方法
2019/01/28 Python
Python实现的排列组合、破解密码算法示例
2019/04/12 Python
将python安装信息加入注册表的示例
2019/11/20 Python
PHP使用Redis队列执行定时任务实例讲解
2021/03/24 PHP
青春奉献演讲稿
2014/05/08 职场文书
应届大学生自荐书
2014/06/17 职场文书
依法行政工作汇报
2014/10/28 职场文书
民主评议政风行风活动心得体会
2014/10/29 职场文书
监考失职检讨书
2015/01/26 职场文书
教师节简报
2015/07/20 职场文书
新郎结婚感言
2015/07/31 职场文书
学校远程教育工作总结
2015/08/11 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
2016优秀员工先进事迹材料
2016/02/25 职场文书
SpringBoot整合Redis入门之缓存数据的方法
2021/11/17 Redis
CSS精灵图的原理与使用方法介绍
2022/03/17 HTML / CSS
golang语言指针操作
2022/04/14 Golang
在python中读取和写入CSV文件详情
2022/06/28 Python