IHMO 似乎您的用例需要一个真正的模板引擎,例如出色的Twig或Smarty。他们不必担心如何解析和移动模板代码,让您的生活更轻松,让您专注于您的应用程序逻辑。
但有时不必处理成熟的模板语言并且仍然能够替换简单的键:值对可能是实用的。对于那些特定的、狭窄的用例,这是我使用的一个小辅助函数。
function replace_tokens($html) {
$token_format = '/{([^}]+)}/';
preg_match_all($token_format, $html, $matches, PREG_SET_ORDER);
foreach ($matches as $match) {
switch ($match[1]) {
case 'token.one':
$html = preg_replace('/' . $match[0] . '/', 'Value One !', $html, 1);
break;
case 'token.two':
$html = preg_replace('/' . $match[0] . '/', 'Value Two.', $html, 1);
break;
default:
break;
}
}
return $html;
}
它又快又脏,但它完成了解析工作。该switch
部分是可选的,有许多更好的方法可以将您的{key}
匹配项与实际密钥进行比较。