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 强制性文件下载功能的函数代码(任意文件格式)
May 26 PHP
PHP无敌近乎加密方式!
Jul 17 PHP
解决PHP在DOS命令行下却无法链接MySQL的技术笔记
Dec 29 PHP
php去掉字符串的最后一个字符附substr()的用法
Mar 23 PHP
php中将图片gif,jpg或mysql longblob或blob字段值转换成16进制字符串
Aug 23 PHP
Yii实现单用户博客系统文章详情页插入评论表单的方法
Dec 28 PHP
PHP+Ajax验证码验证用户登录
Jul 20 PHP
PHP中ID设置自增后不连续的原因分析及解决办法
Aug 21 PHP
PHP用户验证和标签推荐的简单使用
Oct 31 PHP
PHP中quotemeta()函数的用法讲解
Apr 04 PHP
php使用pecl方式安装扩展操作示例
Aug 12 PHP
THINKPHP-Apache服务器中使用Alias虚拟目录URL重写 隐藏index.php
Mar 09 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分页示例代码
2007/03/19 PHP
php下使用strpos需要注意 === 运算符
2010/07/17 PHP
简单的php文件上传(实例)
2013/10/27 PHP
PHP实现模仿socket请求返回页面的方法
2014/11/04 PHP
php 生成加密公钥加密私钥实例详解
2017/06/16 PHP
JS 学习笔记 防止发生命名冲突
2009/07/30 Javascript
Jquery中使用setInterval和setTimeout的方法
2013/04/08 Javascript
asp.net刷新本页面的六种方法总结
2014/01/07 Javascript
node.js适合游戏后台开发吗?
2014/09/03 Javascript
js实现DOM走马灯特效的方法
2015/01/21 Javascript
jQuery使用元素属性attr赋值详解
2015/02/27 Javascript
全系IE支持Bootstrap的解决方法
2015/10/19 Javascript
深入php面向对象、模式与实践
2016/02/16 Javascript
JQuery为元素添加样式的实现方法
2016/07/20 Javascript
微信小程序实现animation动画
2018/01/26 Javascript
在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟
2018/11/28 Javascript
Vue使用.sync 实现父子组件的双向绑定数据问题
2019/04/04 Javascript
JS实现时间校验的代码
2020/05/25 Javascript
Python 实现微信防撤回功能
2019/04/29 Python
Python企业编码生成系统总体系统设计概述
2019/07/26 Python
Python paramiko模块使用解析(实现ssh)
2019/08/30 Python
python通过实例讲解反射机制
2019/10/17 Python
python+Selenium自动化测试——输入,点击操作
2020/03/06 Python
一款利用css3的鼠标经过动画显示详情特效的实例教程
2014/12/29 HTML / CSS
CSS3绘制不规则图形的一些方法示例
2015/11/07 HTML / CSS
Bose法国官网:购买耳机、扬声器、家庭影院、专业音响
2017/12/21 全球购物
美国轮胎网站:Priority Tire
2018/11/28 全球购物
化学相关工作求职信
2013/10/02 职场文书
西门豹教学反思
2014/02/04 职场文书
百日安全生产活动总结
2014/07/05 职场文书
优秀中职教师事迹材料
2014/08/26 职场文书
财务部岗位职责
2015/02/03 职场文书
学校安全管理制度
2015/08/06 职场文书
解决Pytorch中关于model.eval的问题
2021/05/22 Python
Python并发编程实例教程之线程的玩法
2021/06/20 Python
教你怎么用Python selenium操作浏览器对象的基础API
2021/06/23 Python