Revision: 3581
Updated Code
at August 15, 2007 09:26 by eethann
Updated Code
/**
* Replace all tags matching a regexp with value of callback function
* (passes grouped subpatterns to callback as params)
*/
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;
}
Revision: 3580
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at August 15, 2007 09:26 by eethann
Initial Code
Initial URL
Initial Description
Initial Title
replace content tags with callback via regex
Initial Tags
textmate, wordpress, filter
Initial Language
PHP