]+>([^<]+)<\/a>)/i", function($match){ return '[base]'.base64_encode($match[0]) .'[/base]'; }, $str); $str = preg_replace("/(?))(".$tag_.")+/", "{$tag_}", $str); } $str = preg_replace_callback("/\[base\]([^\[]+)\[\/base\]/i", function($match){ return base64_decode($match[1]); }, $str); print_r($str) ; ?>