preg_replace_callback中有更多变量

时间:2013-02-22 01:46:23

标签: php

我需要做以下事情:

$grp = 'something';
$output = preg_replace_callback('/((f|ht)tp)(.*?)(.gif|.png|.jpg|.jpeg)/', function($in){
  return '<a href="'.$in[0].'" class="post-user-img fancybox" '.$grp.'><img src="'.serve_external_image($in[0]).'" alt="" /></a>';
}, $output);

但是,我无法将$grp传递给代码的return部分。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

在匿名函数声明中使用use

function(...) use($grp) { ... }

http://php.net/manual/en/functions.anonymous.php

ps:这是创建闭包的一种奇怪的方法:-S