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脚本数据库功能详解(上)
Oct 09 PHP
PHP 清空varnish 缓存的详解(包括指定站点下的)
Jun 20 PHP
php+html5使用FormData对象提交表单及上传图片的方法
Feb 11 PHP
PHP 使用memcached简单示例分享
Mar 05 PHP
php实现的任意进制互转类分享
Jul 07 PHP
php中preg_match的isU代表什么意思
Oct 01 PHP
PHP内核学习教程之php opcode内核实现
Jan 27 PHP
Smarty模板简单配置与使用方法示例
May 23 PHP
PHP 配置后台登录以及模板引入
Jan 24 PHP
form表单传递数组数据、php脚本接收的实例
Feb 09 PHP
php实现用户注册密码的crypt加密
Jun 08 PHP
微信公众平台开发教程⑤ 微信扫码支付模式介绍
Apr 10 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 array_multisort() 函数的深入解析
2013/06/20 PHP
PHP以指定字段为索引返回数据库所取的数据数组
2013/06/30 PHP
ThinkPHP5实现作业管理系统中处理学生未交作业与已交作业信息的方法
2016/11/12 PHP
最佳JS代码编写的14条技巧
2011/01/09 Javascript
关于js new Date() 出现NaN 的分析
2012/10/23 Javascript
THREE.JS入门教程(3)着色器-下
2013/01/24 Javascript
jQuery 快速结束当前正在执行的动画
2013/11/20 Javascript
自定义jquery模态窗口插件无法在顶层窗口显示问题
2014/05/29 Javascript
JavaScript设置获取和设置属性的方法
2015/03/04 Javascript
canvas滤镜效果实现代码
2017/02/06 Javascript
原生js实现放大镜特效
2017/03/08 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
基于node.js之调试器详解
2017/08/22 Javascript
JS实现带动画的回到顶部效果
2017/12/28 Javascript
jQuery实现表单动态加减、ajax表单提交功能
2018/06/08 jQuery
Vue.js实现可排序的表格组件功能示例
2019/02/19 Javascript
js实现树形数据转成扁平数据的方法示例
2020/02/27 Javascript
[07:54]DOTA2-DPC中国联赛 正赛 iG vs VG 选手采访
2021/03/11 DOTA
利用打码兔和超人打码自封装的打码类分享
2014/03/16 Python
python实现爬取千万淘宝商品的方法
2015/06/30 Python
python常见排序算法基础教程
2017/04/13 Python
Python实现字典按照value进行排序的方法分析
2017/12/23 Python
对TensorFlow的assign赋值用法详解
2018/07/30 Python
基于Python在MacOS上安装robotframework-ride
2018/12/28 Python
Python一行代码实现快速排序的方法
2019/04/30 Python
python实现网站微信登录的示例代码
2019/09/18 Python
Django实现基于类的分页功能
2019/10/31 Python
如何卸载python插件
2020/07/08 Python
html5 Canvas画图教程(7)—canvas里画曲线之quadraticCurveTo方法
2013/01/09 HTML / CSS
鱼油专家:Omegavia
2016/10/10 全球购物
TripAdvisor斯洛伐克:阅读评论、比较价格和酒店预订
2018/04/25 全球购物
多媒体编辑专业毕业生推荐信
2013/11/05 职场文书
党支部班子“四风”问题自我剖析材料
2014/09/28 职场文书
利用前端HTML+CSS+JS开发简单的TODOLIST功能(记事本)
2021/04/13 Javascript
微信小程序用户授权最佳实践指南
2021/05/08 Javascript
Redis sentinel哨兵集群的实现步骤
2022/07/15 Redis