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中数组首字符过滤功能代码
Jul 31 PHP
分享一下贝贝成长进度的php代码
Sep 14 PHP
PHP判断图片格式的七种方法小结
Jun 03 PHP
php类声明和php类使用方法示例分享
Mar 29 PHP
ThinkPHP提交表单时默认自动转义的解决方法
Nov 25 PHP
PHP中iconv函数知识汇总
Jul 02 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
Dec 14 PHP
thinkphp中字符截取函数msubstr()用法分析
Jan 09 PHP
PHP未登录自动跳转到登录页面
Dec 21 PHP
详解php中serialize()和unserialize()函数
Jul 08 PHP
thinkPHP3.2.3结合Laypage实现的分页功能示例
May 28 PHP
php设计模式之适配器模式原理、用法及注意事项详解
Sep 24 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读取MySQL数据代码
2008/06/05 PHP
解析php取整的几种方式
2013/06/25 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
2015/04/08 PHP
php自动给网址加上链接的方法
2015/06/02 PHP
smarty高级特性之过滤器的使用方法
2015/12/25 PHP
php实现的操作excel类详解
2016/01/15 PHP
PHP的自定义模板引擎
2017/03/24 PHP
jquery插件jTimer(jquery定时器)使用方法
2013/12/23 Javascript
Javascript基础教程之关键字和保留字汇总
2015/01/18 Javascript
JS简单去除数组中重复项的方法
2016/09/13 Javascript
JS验证图片格式和大小并预览的简单实例
2016/10/11 Javascript
利用express启动一个server服务的方法
2017/09/17 Javascript
javascript基本常用排序算法解析
2017/09/27 Javascript
利用vue.js实现被选中状态的改变方法
2018/02/08 Javascript
JS实现读取xml内容并输出到div中的方法示例
2018/04/19 Javascript
bootstrap动态调用select下拉框的实例代码
2018/08/09 Javascript
js模拟F11页面全屏显示
2019/09/17 Javascript
element-ui点击查看大图的方法示例
2020/12/14 Javascript
[53:10]完美世界DOTA2联赛决赛日 FTD vs GXR 第二场 11.08
2020/11/11 DOTA
Python模块学习 re 正则表达式
2011/05/19 Python
ptyhon实现sitemap生成示例
2014/03/30 Python
python实现监控linux性能及进程消耗性能的方法
2014/07/25 Python
浅析Python 中整型对象存储的位置
2016/05/16 Python
Python读取excel指定列生成指定sql脚本的方法
2018/11/28 Python
Python装饰器基础概念与用法详解
2018/12/22 Python
Windows下实现将Pascal VOC转化为TFRecords
2020/02/17 Python
Python logging模块原理解析及应用
2020/08/13 Python
H5混合开发app如何升级的方法
2018/01/10 HTML / CSS
html5录音功能实战示例
2019/03/25 HTML / CSS
四查四看自我剖析材料
2014/09/19 职场文书
先进个人自荐书
2015/03/06 职场文书
行政主管岗位职责范本
2015/04/09 职场文书
教师学期述职自我鉴定
2019/08/16 职场文书
FP-growth算法发现频繁项集——构建FP树
2021/06/24 Python
MySQL视图概念以及相关应用
2022/04/19 MySQL
Spring Data JPA框架自定义Repository接口
2022/04/28 Java/Android