$foo = "yes";
$pattern = "{foo}";
$pattern = preg_replace('#{(\w+)}#', $'${1}', $pattern);
我可以使用正则表达式动态调用var吗?像上面的代码? 将{foo}替换为$ foo并返回'yes'?
由于
答案 0 :(得分:3)
是的,您可以使用preg_replace_callback()
,就像这样:
<?php
$foo = "yes";
$pattern = "{foo}";
echo $pattern = preg_replace_callback('#{(\w+)}#',
function($m) use($foo){
return $$m[1];
}, $pattern);
?>
输出:
yes