带有mysql的Preg_replace

时间:2011-05-16 00:48:28

标签: php mysql preg-replace

好的,这就是我所拥有的,但每当我这样做时,我都会收到数据库的第一条记录:

<?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);
?>

1 个答案:

答案 0 :(得分:0)

我很惊讶你得到了任何回报...你的preg_replace模式应该给你一个错误(你没有逃避你的一些括号)。但无论如何,你无法将捕获的组传递给你的功能。您必须使用“e”模式修饰符(请参阅preg_replace手册

中的示例#4)