'; } function process($str) { return preg_replace_callback('/\*(\**)/', create_function('$m', 'static $ids=array(); return processor::_callback($m,$ids);'), $str)."\n"; } } $proc = new processor; echo $proc->process('******* *** *** ***** ***** ***'); echo $proc->process('***** *** *** ***** ***** ***'); echo $proc->process('******* *** *** ***** ******* ***');