可能重复:
用php替换多个占位符?
我有一个.txt文件作为模板工作.我已经制作了几个占位符{{NAME}},我想用变量替换它们.最有效的方法是什么?请记住,我的模板中有大约10个占位符.
有没有比str_replace更好的方法?
xda*_*azz 15
怎么样strtr
$trans = array(
'{{NAME}}' => $name,
"{{AGE}}" => $age,
......
);
echo strtr($text, $trans);
Run Code Online (Sandbox Code Playgroud)
str_replace 如果你需要替换十个变量,那么不仅是丑陋的,而且还是迟缓的(二元搜索是从每个替代的开头开始).
而是使用a preg_replace_callback,一次列出所有10个变量,或使用延迟查找:
$src = preg_replace_callback('/\{\{(\w+)}}/', 'replace_vars', $src);
# or (NAME|THING|FOO|BAR|FIVE|SIX|SVN|EGT|NNE|TEN)
function replace_vars($match) {
list ($_, $name) = $match;
if (isset($this->vars[$name])) return $this->vars[$name];
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9317 次 |
| 最近记录: |