好的,这就是我所拥有的,但每当我这样做时,我都会收到数据库的第一条记录:
<?php
function getInfo($id,$slot){
if(!$id){ return '<b>Error</b> Id Not Returned. Please contact support@site.com for more information.'; }
$mm = mysql_query("SELECT * FROM `users` WHERE `id`='".$id."'");
$mma = mysql_fetch_assoc($mm);
$p = $mma[$slot];
return $p;
//return $id; <- Debug (Returns ID given)
}
$post = preg_replace("/\[CallName]([^]]+)\[\/CallName\]/", getInfo('\\1',"fullname"), $post);
?>
答案 0 :(得分:0)
我很惊讶你得到了任何回报...你的preg_replace模式应该给你一个错误(你没有逃避你的一些括号)。但无论如何,你无法将捕获的组传递给你的功能。您必须使用“e”模式修饰符(请参阅preg_replace手册
中的示例#4)