PHP - "使用($ var)"不在preg_replace_callback中工作

时间:2016-12-17 16:01:46

标签: php preg-replace-callback

我试图将变量从一个函数传递到另一个函数,然后传递给preg_replace_callback:

class Renderer
{
private static function make_query($q) {

    ...

    while ($r = mysqli_fetch_array($c)) {
        $data = $r['title'];
        $finaltpl.=self::render($q[0]['template'],$data);
    }

    public static function render ($render,$d='') {
        echo 'var D is:'.$d.'<br>';
        $render = preg_replace_callback("/\[\[\[([^\]]*)\]\]\]/", function ($matches) use ($d) {
        return 'var D inside is:'.$d.'<br>';
            },$render
            );
    return $render;
}

但是在替换器之外它可以正常工作并且正确地回应var,但在其中只是将$ d显示为空字符串。问题出在哪里?

0 个答案:

没有答案