PHP正则表达式匹配替换与分割功能实例浅析


Posted in PHP onFebruary 04, 2017

本文实例讲述了PHP正则表达式匹配替换与分割功能。分享给大家供大家参考,具体如下:

正则表达式在PHP中的作用主要包括:分割、匹配、查找与替换。

匹配功能

preg_match_all 全部匹配函数

preg_match_all (string pattern,string subject,array matches[, int flags]);

对结果的排序使 $matches[0] 为全部模式匹配的数组。

用途:截取比较精确的内容,用于采集网页,分析文本等。

替换功能

preg_replace 正则替换函数

preg_replace(mixed pattern,mixed replacement,mixed subject[, int limit]);

通过正则表达式来替换相关内容。

① 替换内容可以是一个正则也可以是数组;
② 替换内容可以通过修正符 e 来解决替换执行内容。

用途:替换一些比较复杂的内容,也可以将内容进行转换。

分割功能

preg_split 正则切割

preg_split(string pattern,string subject[, int limit[, int flags]]);

通过正则表达式来切割相关内容,类似 explode 切割函数,但 explode 只能以一种方式进行切割。

实例演示

 匹配功能

以下为引用内容:

<?php
$str="标题:{title}内容:{content}";
$mode="/{(.*)}/U";
preg_match_all($mode,$str,$arr);
print_r($arr);
?>

输出:(在源文件中查看)

以下为引用内容:

Array
(
  [0] => Array
    (
      [0] => {title}
      [1] => {content}
    )
  [1] => Array
    (
      [0] => title
      [1] => content
    )
)
PHP 相关文章推荐
PHP句法规则详解 入门学习
Nov 09 PHP
PHP中array_merge和array相加的区别分析
Jun 17 PHP
PHP imagegrabscreen和imagegrabwindow(截取网站缩略图)的实例代码
Nov 07 PHP
使用php检测用户当前使用的浏览器是否为IE浏览器
Dec 03 PHP
PHP制作万年历
Jan 07 PHP
PHP实现股票趋势图和柱形图
Feb 07 PHP
jQuery获取json后使用zy_tmpl生成下拉菜单
Mar 27 PHP
PHP浮点数精度问题汇总
May 13 PHP
php防止用户重复提交表单
Nov 02 PHP
PHP CodeIgniter分页实例及多条件查询解决方案(推荐)
May 20 PHP
PHP性能分析工具xhprof的安装使用与注意事项
Dec 19 PHP
Laravel使用RabbitMQ的方法示例
Jun 18 PHP
/etc/php-fpm.d/www.conf 配置注意事项
Feb 04 #PHP
PHP正则替换函数preg_replace()报错:Notice Use of undefined constant的解决方法分析
Feb 04 #PHP
Yii2实现多域名跨域同步登录退出
Feb 04 #PHP
PHP使用mysqli操作MySQL数据库的简单方法
Feb 04 #PHP
PHP使用preg_split()分割特殊字符(元字符等)的方法分析
Feb 04 #PHP
用PHP的socket实现客户端到服务端的通信实例详解
Feb 04 #PHP
关于PHP内置的字符串处理函数详解
Feb 04 #PHP
You might like
php+mysql查询优化简单实例
2015/01/13 PHP
示例详解Laravel重置密码代码重构
2016/08/10 PHP
PHP分页显示的方法分析【附PHP通用分页类】
2018/05/10 PHP
Javascript var变量隐式声明方法
2009/10/19 Javascript
JavaScript高级程序设计(第3版)学习笔记10 再访js对象
2012/10/11 Javascript
Javascript级联下拉菜单以及AJAX数据验证核心代码
2013/05/10 Javascript
JS冒泡事件的快速解决方法
2013/12/16 Javascript
采用自执行的匿名函数解决for循环使用闭包的问题
2014/09/11 Javascript
javascript实现详细时间提醒信息效果的方法
2015/03/11 Javascript
jQuery设置指定网页元素宽度和高度的方法
2015/03/25 Javascript
javascript中判断json的方法总结
2015/08/27 Javascript
jquery如何获取元素的滚动条高度等实现代码
2015/10/19 Javascript
JavaScript中点击事件的写法
2016/06/28 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
用Nodejs搭建服务器访问html、css、JS等静态资源文件
2017/04/28 NodeJs
js学习心得_一个简单的动画库封装tween.js
2017/07/14 Javascript
Vue.js实现按钮的动态绑定效果及实现代码
2017/08/21 Javascript
js canvas实现简单的图像扩散效果
2020/06/28 Javascript
使用nodejs+express实现简单的文件上传功能
2017/12/27 NodeJs
详解Vue.js使用Swiper.js在iOS
2018/09/10 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
Next.js项目实战踩坑指南(笔记)
2018/11/29 Javascript
vue通过指令(directives)实现点击空白处收起下拉框
2018/12/06 Javascript
vue计算属性computed的使用方法示例
2019/03/13 Javascript
[50:11]2018DOTA2亚洲邀请赛 4.7总决赛 LGD vs Mineski 第三场
2018/04/09 DOTA
对numpy和pandas中数组的合并和拆分详解
2018/04/11 Python
python使用Flask操作mysql实现登录功能
2018/05/14 Python
浅谈python实现Google翻译PDF,解决换行的问题
2018/11/28 Python
Python 使用matplotlib模块模拟掷骰子
2019/08/08 Python
python读取图片的几种方式及图像宽和高的存储顺序
2020/02/11 Python
荷兰超市:DEEN
2018/03/14 全球购物
Nip + Fab官网:英国美容品牌
2019/08/26 全球购物
C#笔试题和英文面试题
2013/02/07 面试题
员工考核管理制度
2014/02/02 职场文书
群众路线教育实践活动个人对照检查材料思想汇报(社区班子)
2014/10/06 职场文书
浅谈Python列表嵌套字典转化的问题
2021/04/07 Python