用PHP中的正则表达式动态调用var

时间:2015-02-18 17:05:55

标签: php regex

$foo = "yes";
$pattern = "{foo}";

$pattern = preg_replace('#{(\w+)}#', $'${1}', $pattern);

我可以使用正则表达式动态调用var吗?像上面的代码? 将{foo}替换为$ foo并返回'yes'?

由于

1 个答案:

答案 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