PHP实现通过正则表达式替换回调的内容标签

yipeiwu_com7年前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中 strtr 和 str_replace 的效率问题

在网上看了一些php优化的指南,里面提到:使用strtr 函数 比 str_replace快4倍。 本着探索的精神动手验证。 代码 $string = 'abcdefg'; set_...

WordPress的主题编写中获取头部模板和底部模板

get_header()(获取头部) 引入主题的头部模板,默认会引入当前主题目录里的 header.php 文件。如果指定了一个名称,则引入当前主题目录的 header-{name}.p...

PHP的Trait机制原理与用法分析

本文实例讲述了PHP的Trait机制原理与用法。分享给大家供大家参考,具体如下: Trait介绍: 1、自PHP5.4起,PHP实现了一种代码复用的方法,称为trait。 2、Trait...

php专用数组排序类ArraySortUtil用法实例

本文实例讲述了php专用数组排序类ArraySortUtil用法。分享给大家供大家参考。具体如下: ** * ArraySortUtil is a array sort utili...

php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法

本文实例讲述了php使用ZipArchive提示Fatal error: Class ZipArchive not found in的解决方法。分享给大家供大家参考。具体如下: ZipA...