PHP实现通过正则表达式替换回调的内容标签
这篇文章主要介绍了PHP实现通过正则表达式替换回调的内容标签的方法,涉及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;
- }