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和ACCESS写聊天室(九)
Oct 09 PHP
PHP数组无限分级数据的层级化处理代码
Dec 29 PHP
解析dedeCMS验证码的实现代码
Jun 07 PHP
php读取mysql的简单实例
Jan 15 PHP
php 发送带附件邮件示例
Jan 23 PHP
新浪SAE云平台下使用codeigniter的数据库配置
Jun 12 PHP
实例讲解PHP面向对象之多态
Aug 20 PHP
YII CLinkPager分页类扩展增加显示共多少页
Jan 29 PHP
PHP实现163邮箱自动发送邮件
Mar 29 PHP
php 基础函数
Feb 10 PHP
PHP实现的mysql主从数据库状态检测功能示例
Jul 20 PHP
Laravel学习教程之request validation的编写
Oct 25 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验证码类代码( 最新修改,完全定制化! )
2010/12/02 PHP
用Simple Excel导出xls实现方法
2012/12/06 PHP
PHP实现中文圆形印章特效
2015/06/19 PHP
PHP+ajax实现上传、删除、修改单张图片及后台处理逻辑操作详解
2020/02/12 PHP
读jQuery之二(两种扩展)
2011/06/11 Javascript
鼠标拖拽移动子窗体的JS实现
2014/02/25 Javascript
Node.js(安装,启动,测试)
2014/06/09 Javascript
jquery常用操作小结
2014/07/21 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
JS实现的验证身份证及获取地区功能示例
2017/01/16 Javascript
JS实现最简单的冒泡排序算法
2017/02/15 Javascript
使用grunt合并压缩js和css文件的方法
2017/03/02 Javascript
基于Vuex无法观察到值变化的解决方法
2018/03/01 Javascript
vue: WebStorm设置快速编译运行的方法
2018/10/18 Javascript
使用node搭建自动发图文微博机器人的方法
2019/03/22 Javascript
微信小程序实现卡片左右滑动效果的示例代码
2019/05/01 Javascript
vue+element-ui JYAdmin后台管理系统模板解析
2020/07/28 Javascript
vue 使用vant插件做tabs切换和无限加载功能的实现
2020/11/04 Javascript
十个Python程序员易犯的错误
2015/12/15 Python
详解使用python crontab设置linux定时任务
2016/12/08 Python
python中 logging的使用详解
2017/10/25 Python
Python+OpenCV实现图像融合的原理及代码
2018/12/03 Python
Python3爬虫教程之利用Python实现发送天气预报邮件
2018/12/16 Python
django的聚合函数和aggregate、annotate方法使用详解
2019/07/23 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
Python通过递归函数输出嵌套列表元素
2020/10/15 Python
HTML5的结构和语义(3):语义性的块级元素
2008/10/17 HTML / CSS
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
简述进程的启动、终止的方式以及如何进行进程的查看
2014/02/20 面试题
公司承诺书格式
2014/05/21 职场文书
2014年教师党员自我评议
2014/09/19 职场文书
党员群众路线学习心得体会
2014/11/04 职场文书
2016年国培心得体会及反思
2016/01/13 职场文书
2019年员工旷工保证书!
2019/06/28 职场文书
浅谈Python基础之列表那些事儿
2021/05/11 Python
详解Python生成器和基于生成器的协程
2021/06/03 Python