我需要一些帮助为我的PHP脚本创建一个正则表达式.基本上,我有一个包含我的数据的关联数组,我想使用preg_replace用真实数据替换一些占位符.输入将是这样的:
{{address}}{{fixDate}}{{measureDate}}{{builder}}我不想使用str_replace,因为数组可能包含的项目比我需要的多得多.
如果我理解正确,preg_replace能够从正则表达式中获取它找到的文本,并将其替换为数组中该键的值,例如
{{address}}替换为$replace [‘address’]的值.这是真的,还是我误读了php文档?
如果这是真的,有人可以帮我告诉我一个正在解析这个的正则表达式(如果你也解释它是如何工作的话会很感激,因为我对正则表达式还不是很好).
非常感谢.
解决方法:
$replace_values = array(
'test' => 'test two',
);
$result = preg_replace_callback('!\{\{(\w+)\}\}!', 'replace_value', $input);
function replace_value($matches) {
global $replace_values;
return $replace_values[$matches[1]];
}
基本上,这表示发现包含单词字符的{{…}}的所有出现,并将该值替换为查找表中的值(作为全局$replace_values).
标签:php,regex,templates
来源: https://codeday.me/bug/20190610/1214804.html