求解,如题,达到的目的是,读出内容标注的用户id,从数据库中取出用户名。
问题,只能读出“$1”,无法取值。
function usvid($csse,$uvid){
global $db,$DBprefix;
echo $csse.$uvid; $query_usersid="select * from ".$DBprefix."users where Uid='$csse' order by Uid desc"; $sql_usersid=mysql_query($query_usersid); while ($usersid=mysql_fetch_array($sql_usersid)){
$bbs_H=$usersid['UserName']; }
return $bbs_H;
}
function vubb($str){
$str=preg_replace("/\[userid=(.+?)\](.+?)\[\/userid\]/is",usvid("$1",'$2'),$str);
return $str;
}
echo vubb("[userid=10000]xy[/userid]");
preg_replace第二个参数只能是字符串或数组,函数用法错误
改为正确的preg_replace_callback,第二个参数是回调函数
改写样例如下(没测对与否):
只改动4行,楼主可以再试试,如果有错误请见谅。
谢邀!
然后呢,有什么问题么?
我解读你的sql是:
测试了一下 输出 的sql 和 你要求的一样啊
select * from users where Uid='10000' order by Uid desc