在preg_replace_callback
问题描述:
更多的变数,我需要做到以下几点:在preg_replace_callback
$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
一部分。
我该怎么做?
答
使用use
匿名函数声明
function(...) use($grp) { ... }
http://php.net/manual/en/functions.anonymous.php
PS:这是一个PHP的怪异的方式来创建闭包:-S
您是否尝试过使用'全球$ GRP;'在功能 – Musa 2013-02-22 01:49:32
是的。它不起作用。我唯一能够实现的方式是使用''__SESSION'',我不想那样做。 – 2013-02-22 01:50:20