- 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;
- }
复制代码
|