php正则preg_replace_callback函数用法实例


Posted in PHP onJune 01, 2015

本文实例讲述了php正则preg_replace_callback函数的用法。分享给大家供大家参考。具体实现方法如下:

php正则表达式功能强大,本范例演示了preg_replace_callback函数的用法

// Define a dummy text, for testing...
$Text = "Title: Hello world!\n";
$Text .= "Author: Jonas\n";
$Text .= "This is a example message!\n\n";
$Text .= "Title: Entry 2\n";
$Text .= "Author: Sonja\n";
$Text .= "Hello world, what's up!\n";
// This function will replace specific matches
// into a new form
function RewriteText($Match){
  // Entire matched section: 
  // --> /.../
  $EntireSection = $Match[0];
  // --> "\nTitle: Hello world!"
  // Key 
  // --> ([a-z0-9]+)
  $Key      = $Match[1];
  // --> "Title"
  // Value 
  // --> ([^\n\r]+)
  $Value    = $Match[2];
  // --> "Hello world!"
  // Add some bold (<b>) tags to around the key to
  return '<b>' . $Key . '</b>: ' . $Value;
}
// The regular expression will extract and pass all "key: value" pairs to
// the "RewriteText" function that is definied above
$NewText = preg_replace_callback('/[\r\n]([a-z0-9]+): ([^\n\r]+)/i', "RewriteText", $Text);
// Print the new modified text
print $NewText;

希望本文所述对大家的php程序设计有所帮助。

PHP 相关文章推荐
php目录操作函数之获取目录与文件的类型
Dec 29 PHP
深入PHP empty(),isset(),is_null()的实例测试详解
Jun 06 PHP
php中让上传的文件大小在上传前就受限制的两种解决方法
Jun 24 PHP
基于preg_match_all采集后数据处理的一点心得笔记(编码转换和正则匹配)
Jan 31 PHP
php全角字符转换为半角函数
Feb 07 PHP
PHP中使用asort进行中文排序失效的问题处理
Aug 18 PHP
浅析php创建者模式
Nov 25 PHP
PHP实现检测客户端是否使用代理服务器及其匿名级别
Jan 07 PHP
Zend Framework教程之Bootstrap类用法概述
Mar 14 PHP
php中实现进程锁与多进程的方法
Sep 18 PHP
Django 中 cookie的使用
Aug 17 PHP
PHP基于array_unique实现二维数组去重
Jul 14 PHP
php实现读取和写入tab分割的文件
Jun 01 #PHP
php从文件夹随机读取文件的方法
Jun 01 #PHP
php计算整个目录大小的方法
Jun 01 #PHP
php获取系统变量方法小结
May 29 #PHP
typecho插件编写教程(六):调用接口
May 28 #PHP
PHP cURL初始化和执行方法入门级代码
May 28 #PHP
php支持中文字符串分割的函数
May 28 #PHP
You might like
PHP文件上传原理简单分析
2011/05/29 PHP
ThinkPHP3.0略缩图不能保存到子目录的解决方法
2012/09/30 PHP
提升PHP性能的21种方法介绍
2013/06/25 PHP
smarty模板局部缓存方法使用示例
2014/06/17 PHP
php获取指定范围内最接近数的方法
2015/06/02 PHP
PHP共享内存用法实例分析
2016/02/12 PHP
JavaScript下申明对象的几种方法小结
2008/10/02 Javascript
jquery-syntax动态语法着色示例代码
2014/05/14 Javascript
js去除输入框中所有的空格和禁止输入空格的方法
2014/06/09 Javascript
bootstrap下拉列表与输入框组结合的样式调整
2016/10/08 Javascript
JS日期对象简单操作(获取当前年份、星期、时间)
2016/10/26 Javascript
微信小程序 页面传值详解
2017/03/10 Javascript
Node.js 中exports 和 module.exports 的区别
2017/03/14 Javascript
nodejs中解决异步嵌套循环和循环嵌套异步的问题
2017/07/12 NodeJs
浅谈Webpack 是如何加载模块的
2018/05/24 Javascript
elementUI vue this.$confirm 和el-dialog 弹出框 移动 示例demo
2019/07/03 Javascript
vue3.0中使用postcss-pxtorem的具体方法
2019/11/20 Javascript
基于vue.js仿淘宝收货地址并设置默认地址的案例分析
2020/08/20 Javascript
[01:04:20]完美世界DOTA2联赛PWL S2 LBZS vs Forest 第一场 11.29
2020/12/02 DOTA
python抓取并保存html页面时乱码问题的解决方法
2016/07/01 Python
python读取excel表格生成erlang数据
2017/08/26 Python
pip安装Python库时遇到的问题及解决方法
2017/11/23 Python
Python实现获取邮箱内容并解析的方法示例
2018/06/16 Python
在python里面运用多继承方法详解
2019/07/01 Python
使用tensorflow实现矩阵分解方式
2020/02/07 Python
python 实现两个线程交替执行
2020/05/02 Python
python进度条显示之tqmd模块
2020/08/22 Python
史上最详细的Python打包成exe文件教程
2021/01/17 Python
html5嵌入内容_动力节点Java学院整理
2017/07/07 HTML / CSS
员工拓展培训方案
2014/02/15 职场文书
大学班级文化建设方案
2014/05/06 职场文书
2014年化验员工作总结
2014/11/18 职场文书
小班上学期幼儿评语
2014/12/30 职场文书
给老婆的检讨书(搞笑版)
2015/05/06 职场文书
培训班开班主持词
2015/07/02 职场文书
linux下安装redis图文详细步骤
2021/12/04 Redis