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 相关文章推荐
Discuz 5.0 中读取纯真IP数据库函数分析
Mar 16 PHP
ajax在joomla中的原生态应用代码
Jul 19 PHP
ThinkPHP3.1.3版本新特性概述
Jun 19 PHP
PHP Reflection API详解
May 12 PHP
PHP支付系统设计与典型案例分享
Aug 02 PHP
PHP基于反射机制实现插件的可插拔设计详解
Nov 10 PHP
谈谈php对接芝麻信用踩的坑
Dec 01 PHP
PHP插件PHPMailer发送邮件功能
Feb 28 PHP
CodeIgniter框架验证码类库文件与用法示例
Mar 18 PHP
php写app接口并返回json数据的实例(分享)
May 20 PHP
php实现 master-worker 守护多进程模式的实例代码
Jul 20 PHP
php设计模式之正面模式实例分析【星际争霸游戏案例】
Mar 24 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
BBS(php &amp; mysql)完整版(二)
2006/10/09 PHP
php抓取页面与代码解析 推荐
2010/07/23 PHP
php将日期格式转换成xx天前的格式
2015/04/16 PHP
用js实现下载远程文件并保存在本地的脚本
2008/05/06 Javascript
js Array对象的扩展函数代码
2013/04/24 Javascript
JS实现的适合做faq或menu滑动效果示例
2016/11/17 Javascript
解决AngualrJS页面刷新导致异常显示问题
2017/04/20 Javascript
python爬取安居客二手房网站数据(实例讲解)
2017/10/19 Javascript
vue2+el-menu实现路由跳转及当前项的设置方法实例
2017/11/07 Javascript
用最少的JS代码写出贪吃蛇游戏
2018/01/12 Javascript
pace.js和NProgress.js两个加载进度插件的一点小总结
2018/01/31 Javascript
jquery的 filter()方法使用教程
2018/03/22 jQuery
浅谈React Event实现原理
2018/09/20 Javascript
vue封装一个简单的div框选时间的组件的方法
2019/01/06 Javascript
浅析vue cli3 封装Svgicon组件正确姿势(推荐)
2020/04/27 Javascript
js实现翻牌小游戏
2020/07/31 Javascript
vue项目中微信登录的实现操作
2020/09/08 Javascript
vue内置组件keep-alive事件动态缓存实例
2020/10/30 Javascript
在Python中操作时间之tzset()方法的使用教程
2015/05/22 Python
对python .txt文件读取及数据处理方法总结
2018/04/23 Python
python爬取内容存入Excel实例
2019/02/20 Python
Python3.8中使用f-strings调试
2019/05/22 Python
Python 使用元类type创建类对象常见应用详解
2019/10/17 Python
Trunki英国官网:儿童坐骑式行李箱
2017/05/30 全球购物
澳大利亚冲浪和时尚服装网上购物:SurfStitch
2017/07/29 全球购物
意大利巧克力店:Chocolate Shop
2019/07/24 全球购物
Linux机考试题
2015/07/17 面试题
北京捷通华声语音技术有限公司Java软件工程师笔试题
2012/04/10 面试题
大学毕业生最详细的自我评价分享
2013/11/18 职场文书
应届生自我鉴定
2013/12/11 职场文书
战友聚会主持词
2014/04/02 职场文书
政府班子四风问题整改措施思想汇报
2014/10/08 职场文书
公司离职证明范本
2014/10/17 职场文书
迎新生欢迎词
2015/01/23 职场文书
《岳阳楼记》原文、译文赏析
2019/09/10 职场文书
css3实现的加载动画效果
2021/04/07 HTML / CSS