求解,如題,達到的目的是,讀出內容標註的使用者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("",''),$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