PHP实现通过正则表达式替换回调的内容标签
本文实例讲述了PHP实现通过正则表达式替换回调的内容标签。分享给大家供大家参考。具体实现方法如下:
function my_wp_plugin_tag_action($content,$tag,$function,$args = FALSE) { // match all regular expressions preg_match_all($tag,$content,$matches); if (count($matches)>0) { // filter duplicates $matches = array_unique($matches); // loop through $tag_results = array(); $found_tags = array(); foreach ($matches as $idx => $match) { //build arg array $full_tag = array_shift($match); //call function, adding function output and full tag text to replacement array $tag_results[] = my_wp_plugin_buffer_func($function,$match); $found_tags[] = $full_tag; } // replace all tags with corresponding text $content = str_replace($found_tags,$tag_results,$content); } return $content; }
希望本文所述对大家的php程序设计有所帮助。
相关推荐
-
PHP把空格、换行符、中文逗号等替换成英文逗号的正则表达式
在开发的过程中,经常会遇到需要给别人提供一个输入框,然后别人输入一些ID,或者关键字的东西,例如wordpress的后台的标签输入框: 这个就是只是判断英文状态下的逗号,要是有人不小心输入了中文状态下的逗号怎么办?小数点怎么办? 于是我就用正则写了一个表达式,把带有空格换行符之类的替换成逗号. 把提交的id带有空格换行符之类的替换成逗号,然后用explode函数切换成数组. 复制代码 代码如下: $ids=$_POST["ID"];$id= preg_replace("/(\
-
php preg_filter执行一个正则表达式搜索和替换
preg_filter (PHP 5 >= 5.3.0) preg_filter - 执行一个正则表达式搜索和替换 mixed preg_filter ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] ) preg_filter()等价于preg_replace() 除了它仅仅返回(可能经过转化)与目标匹配的结果. 这个函数怎样工作的更详细信息请阅读 preg
-
如何在PHP中使用正则表达式进行查找替换
1. preg_match - 执行一个正则表达式匹配int preg_match ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )搜索subject与pattern给定的正则表达式的一个匹配. pattern:要搜索的模式,字符串类型.subject :输入字符串. matches:如果提供了参数matches,它将被填充为搜索结果. $matche
-
PHP正则替换函数preg_replace和preg_replace_callback使用总结
在编写PHP模板引擎工具类时,以前常用的一个正则替换函数为 preg_replace(),加上正则修饰符 /e,就能够执行强大的回调函数,实现模板引擎编译(其实就是字符串替换). 详情介绍参考博文:PHP函数preg_replace() 正则替换所有符合条件的字符串 应用举例如下: 复制代码 代码如下: <?php /** * 模板解析类 */ class Template { public function compile($template) { // if逻辑 $template
-
PHP实现将标点符号正则替换为空格的方法
本文实例讲述了PHP实现将标点符号正则替换为空格的方法.分享给大家供大家参考,具体如下: <?php $character = "!@#$%^&*中'文中'文中'文().,<>|[]'\":;}{-_+=?/abcdefgh中'文ijklmnopqrstuvwx中'文yzABCDEFGHI中文JKLMNOPQRSTUVWXYZ~`中'文文文文文"; $reg = "/[[:punct:]]/i"; $character = pre
-
PHP html标签正则替换并可自定义正则规则
复制代码 代码如下: <?php function pregstring($str){ $strtemp = trim($str); $search = array( "|'|Uis", "|<script[^>].*?</script>|Uis", // 去掉 javascript "|\[字定义\].*\[/字定义\]|Uis", // 去掉缩略图 "|<[\/\!].*?[^<>]*
-
php中preg_replace正则替换用法分析【一次替换多个值】
本文实例讲述了php中preg_replace正则替换用法.分享给大家供大家参考,具体如下: 1.php 的 preg_replace 与 str_replace 都是默认 /g 的,全部替换 2.如果需要使用正则表达式 需要使用preg_replace <?php $a = "abc defa bcd ef"; $b= preg_replace("/\t|a/","",$a); echo($b); /* 输出: bc def bcd ef
-
php正则替换变量指定字符的方法
本文实例讲述了php正则替换变量指定字符的方法.分享给大家供大家参考.具体如下: 这里介绍三种常用方法. 方法一: <?php $str = preg_quote('(银子)'); $txt = '我的呢称(银子)'; echo preg_replace("/($str)/","<span style='color:#f00;'>$1</span>",$txt); ?> 方法二: <?php $str = quotemeta
-
php中正则替换函数ereg_replace用法实例
本文实例讲述了php中正则替换函数ereg_replace用法.分享给大家供大家参考.具体如下: 下面的实例是利用php 正则替换函数 ereg_replace来把指定的字符替换成我想需要的字符实例,代码如下: 复制代码 代码如下: $num = 'www.jb51.net'; $string = "this string has four words. <br>"; $string = ereg_replace ('four', $num, $string); echo
-
PHP 字符串正则替换函数preg_replace使用说明
1. preg_replace() $msg = preg_replace("/<style>.+<\/style>/is", "", $msg); -----删除<style></style>和中间的部分 $msg = preg_replace("/<[^>]+>/", "", $msg); -----是删除<>和中间的内容 i (PCRE_CAS
-
PHP preg_replace() 正则替换所有符合条件的字符串
需要我们用程序处理的数据并不总是预先以数据库思维设计的,或者说是无法用数据库的结构去存储的. 比如模版引擎解析模版.垃圾敏感信息过滤等等. 一般这种情况,我们用正则按我们的规则去匹配preg_match.替换preg_replace. 但一般的应用中,无非是些数据库CRUD,正则摆弄的机会很少. 根据前面说的,两种场景:统计分析,用匹配:处理用替换. PHP preg_replace() 正则替换,与Javascript 正则替换不同,PHP preg_replace() 默认就是替换所有符号匹
-
php正则取img标记中任意属性(正则替换去掉或改变图片img标记中的任意属性)
因有一项目新闻发布系统,数据库内容字段中存储的是原图的路径(当然还有其他文字内容啦,内容里插图时,存的是图片路径),但前台想使用缩略图,琢磨1小时余,得到以下结果,可解决问题(取img标签会了,取别的标签任意属性自然也会了): 复制代码 代码如下: <?php /*正则取图片img标记中的任意属性*/ $word = '<p height="22" align="cenetr">111 22</p> <img src="
随机推荐
- python执行子进程实现进程间通信的方法
- 基于Vue.js的表格分页组件
- ASP.NET防止SQL注入的方法示例
- php用户注册页面利用js进行表单验证具体实例
- 微信小程序 input输入框控件详解及实例(多种示例)
- Java使用Ajax实现跨域上传图片功能
- Java中线程的等待与唤醒_动力节点Java学院整理
- JAVA实现简单停车场系统代码
- Pyhton中防止SQL注入的方法
- phpmailer在服务器上不能正常发送邮件的解决办法
- 浅析php数据类型转换
- C++ 中CListCtrl的每个项都显示不同的提示信息
- 通过JS动态创建一个html DOM元素并显示
- Ajax 高级功能之ajax向服务器发送数据
- MyBatis常用的jdbcType数据类型
- Nodejs初级阶段之express
- JavaScript 学习笔记(十三)Dom创建表格
- 详解C++中如何将构造函数或析构函数的访问权限定为private
- Java解析Excel内容的方法
- 详解Android 手机卫士设置向导页面