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 时区的一点总结
Mar 26 PHP
php学习之数据类型之间的转换介绍
Jun 09 PHP
php中计算程序运行时间的类代码
Nov 03 PHP
php遍历文件夹所有文件子文件夹函数代码
Nov 27 PHP
php中curl和file_get_content的区别
May 10 PHP
smarty模板引擎之配置文件数据和保留数据
Mar 30 PHP
phplist及phpmailer(组合使用)通过gmail发送邮件的配置方法
Mar 30 PHP
php文件上传类完整实例
May 14 PHP
mac系统下为 php 添加 pcntl 扩展
Aug 28 PHP
php的常量和变量实例详解
Jun 27 PHP
PHP利用pdo_odbc实现连接数据库示例【基于ThinkPHP5.1搭建的项目】
May 13 PHP
php中配置文件保存修改操作 如config.php文件的读取修改等操作
May 12 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服务器
2006/10/09 PHP
php 数组的合并、拆分、区别取值函数集
2010/02/15 PHP
php递归函数三种实现方法及如何实现数字累加
2015/08/07 PHP
php将从数据库中获得的数据转换成json格式并输出的方法
2018/08/21 PHP
php设计模式之观察者模式实例详解【星际争霸游戏案例】
2020/03/30 PHP
XP折叠菜单&仿QQ2006菜单
2006/12/16 Javascript
【消息提示组件】,兼容IE6/7&&FF2
2007/09/04 Javascript
js获取url参数的使用扩展实例
2007/12/29 Javascript
Mootools 1.2 手风琴(Accordion)教程
2009/09/15 Javascript
在js中单选框和复选框获取值的方式
2009/11/06 Javascript
Jquery动态进行图片缩略的原理及实现
2013/08/13 Javascript
jquery制作漂亮的弹出层提示消息特效
2014/12/23 Javascript
js实现仿百度瀑布流的方法
2015/02/05 Javascript
AngularJs定制样式插入到ueditor中的问题小结
2016/08/01 Javascript
新入门node.js必须要知道的概念(必看篇)
2016/08/10 Javascript
jQuery File Upload文件上传插件使用详解
2016/12/06 Javascript
jQuery使用siblings获取某元素所有同辈(兄弟姐妹)元素用法示例
2017/01/30 Javascript
Vue.js实现移动端短信验证码功能
2017/03/29 Javascript
DataTables添加额外的查询参数和删除columns等无用参数实例
2017/07/04 Javascript
vue vuex vue-rouert后台项目——权限路由(适合初学)
2017/12/29 Javascript
vue 纯js监听滚动条到底部的实例讲解
2018/09/03 Javascript
electron实现qq快捷登录的方法示例
2018/10/22 Javascript
JS原生瀑布流效果实现
2019/04/26 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
2019/09/09 Javascript
python3+PyQt5+Qt Designer实现堆叠窗口部件
2018/04/20 Python
python通过nmap扫描在线设备并尝试AAA登录(实例代码)
2019/12/30 Python
Win10里python3创建虚拟环境的步骤
2020/01/31 Python
input元素的url类型和email类型简介
2012/07/11 HTML / CSS
您附近的水疗和健康场所:Spafinder(美国)
2019/07/05 全球购物
什么是GWT的Entry Point
2013/08/16 面试题
技校毕业生的自我评价
2013/12/27 职场文书
业务部经理岗位职责
2014/01/04 职场文书
中式面点餐厅创业计划书
2014/01/29 职场文书
仲裁协议书
2014/09/26 职场文书
驳回起诉民事裁定书
2015/05/19 职场文书
Java实现带图形界面的聊天程序
2022/06/10 Java/Android