function anchor($text)
{
return preg_replace('#\>\>([0-9]+)#','<span class=anchor><a href="#$1">>>$1</a></span>', $text);
}
这段代码用于呈现页面锚点。 我需要使用
([0-9]+)
part作为变量来做一些数学来定义href标签的确切url。 感谢。
答案 0 :(得分:1)
改为使用preg_replace_callback。
在php 5.3 +中:
$matches = array();
$text = preg_replace_callback(
$pattern,
function($match) use (&$matches){
$matches[] = $match[1];
return '<span class=anchor><a href="#$1">'.$match[1].'</span>';
}
);
在php&lt; 5.3:
中global $matches;
$matches = array();
$text = preg_replace_callback(
$pattern,
create_function('$match','global $matches; $matches[] = $match[1]; return \'<span class=anchor><a href="#$1">\'.$match[1].\'</span>\';')
);