I suppose you could try $globaltemplates, but ideally for an str replace you'd build an array of template names.
--------------- Added [DATE]1342211263[/DATE] at [TIME]1342211263[/TIME] ---------------
This might help you write the function, this is directly out of /includes/functions_misc and its the section where they do an str replace on templates

PHP Code:
function replace_template_variables($template, $do_outside_regex = false)
{
// matches references to specifc arrays in templates and maps them to a better internal format
// this function name is a slight misnomer; it can be run on phrases with variables in them too!
// include the $, but escape it in the key
static $variables = array(
'\$vboptions' => '$GLOBALS[\'vbulletin\']->options',
'\$bbuserinfo' => '$GLOBALS[\'vbulletin\']->userinfo',
'\$session' => '$GLOBALS[\'vbulletin\']->session->vars',
);
// regexes to do the replacements; __FINDVAR__ and __REPLACEVAR__ are replaced before execution
static $basic_find = array(
'#\{__FINDVAR__\[(\\\\?\'|"|)([\w$[\]]+)\\1\]\}#',
'#__FINDVAR__\[\$(\w+)\]#',
'#__FINDVAR__\[(\w+)\]#',
);
static $basic_replace = array(
'" . __REPLACEVAR__[$1$2$1] . "',
'" . __REPLACEVAR__[$$1] . "',
'" . __REPLACEVAR__[\'$1\'] . "',
);
foreach ($variables AS $findvar => $replacevar)
{
if ($do_outside_regex)
{
// this is handles replacing of vars outside of quotes
do
{
// not in quotes = variable preceeded by an even number of ", does not count " escaped with an odd amount of \
// ... this was a toughie!
$new_template = preg_replace(
array(
'#^([^"]*?("(?>(?>(\\\\{2})+?)|\\\\"|[^"])*"([^"]*?))*)' . $findvar . '\[(\\\\?\'|"|)([\w$[\]]+)\\5\]#sU',
'#^([^"]*?("(?>(?>(\\\\{2})+?)|\\\\"|[^"])*"([^"]*?))*)' . $findvar . '([^[]|$)#sU',
),
array(
'$1' . $replacevar . '[$5$6$5]',
'$1' . $replacevar . '$5',
),
$template
);
if ($new_template == $template)
{
break;
}
$template = $new_template;
}
while (true);
}
// these regular expressions handle replacement of vars inside quotes
$this_find = str_replace('__FINDVAR__', $findvar, $basic_find);
$this_replace = str_replace('__REPLACEVAR__', $replacevar, $basic_replace);
$template = preg_replace($this_find, $this_replace, $template);
}
// straight replacements - for example $scriptpath becomes $GLOBALS['vbulletin']->scriptpath
static $str_replace = array(
'$scriptpath' => '" . $GLOBALS[\'vbulletin\']->scriptpath . "',
'$navbar_reloadurl' => '" . $GLOBALS[\'vbulletin\']->reloadurl . "',
);
$template = str_replace(array_keys($str_replace), $str_replace, $template);
return $template;
}