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 相关文章推荐
GD输出汉字的函数的分析
Oct 09 PHP
PHP的开合式多级菜单程序
Oct 09 PHP
phpmyadmin 3.4 空密码登录的实现方法
May 29 PHP
php学习笔记 面向对象中[接口]与[多态性]的应用
Jun 16 PHP
使用PHP计算两个路径的相对路径
Jun 14 PHP
PHP编程风格规范分享
Jan 15 PHP
PHP获取文件的MD5值并判断是否被修改的例子
Jun 19 PHP
php远程下载类分享
Apr 13 PHP
利用php-cli和任务计划实现订单同步功能的方法
May 03 PHP
不常用但很实用的PHP预定义变量分析
Jun 25 PHP
php 使用expat方式解析xml文件操作示例
Nov 26 PHP
laravel5.6 框架邮件队列database驱动简单demo示例
Jan 26 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输出当前进程所有变量/常量/模块/函数/类的示例
2013/11/07 PHP
ThinkPHP采用GET方式获取中文参数查询无结果的解决方法
2014/06/26 PHP
PHP中的流(streams)浅析
2015/07/02 PHP
LNMP部署laravel以及xhprof安装使用教程
2017/09/14 PHP
定义select的边框颜色
2008/04/28 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
js控制滚动条缓慢滚动到顶部实现代码
2013/03/20 Javascript
jquery仿QQ商城带左右按钮控制焦点图片切换滚动效果
2013/06/27 Javascript
JavaScript中对象property的读取和写入方法介绍
2014/12/30 Javascript
Javascript通过overflow控制列表闭合与展开的方法
2015/05/15 Javascript
jquery实现可旋转可拖拽的文字效果代码
2016/01/27 Javascript
JavaScript正则表达式的分组匹配详解
2016/02/13 Javascript
jQuery使用contains过滤器实现精确匹配方法详解
2016/02/25 Javascript
Javascript HTML5 Canvas实现的一个画板
2020/04/12 Javascript
Vue.js实现文章评论和回复评论功能
2020/05/30 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
详解利用Angular实现多团队模块化SPA开发框架
2017/11/27 Javascript
javascript设计模式 ? 访问者模式原理与用法实例分析
2020/04/26 Javascript
一个小示例告诉你Python语言的优雅之处
2014/07/04 Python
python 简单备份文件脚本v1.0的实例
2017/11/06 Python
python面向对象入门教程之从代码复用开始(一)
2018/12/11 Python
Python多进程编程multiprocessing代码实例
2020/03/12 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
html5的pushstate以及监听浏览器返回事件的实现
2020/08/11 HTML / CSS
英国品牌男装折扣网站:Brown Bag
2018/03/08 全球购物
Dyson戴森波兰官网:Dyson.pl
2019/08/05 全球购物
GOLFINO英国官网:高尔夫服装
2020/04/11 全球购物
俄罗斯连接商品和买家的在线平台:goods.ru
2020/11/30 全球购物
读书心得体会
2013/12/28 职场文书
学校安全教育月活动总结
2014/07/07 职场文书
优秀应届本科生求职信
2014/07/19 职场文书
政府领导干部个人对照检查材料思想汇报
2014/09/24 职场文书
专家推荐信怎么写
2015/03/25 职场文书
宿舍卫生管理制度
2015/08/05 职场文书
nginx反向代理时如何保持长连接
2021/03/31 Servers
Win11筛选键导致键盘失灵怎么解决? Win11关闭筛选键的技巧
2022/04/08 数码科技