Pour résoudre le problème, comme dans la question, le but est de lire l'ID utilisateur marqué dans le contenu et de récupérer le nom d'utilisateur dans la base de données.
Problème, seul "$1" peut être lu, mais la valeur ne peut pas être obtenue.
fonction usvid($csse,$uvid){
global $db,$DBpréfixe ;
echo $csse.$uvid; $query_usersid="select * from ".$DBprefix."users which Uid='$csse' order by Uid desc" $sql_usersid=mysql_query($query_usersid); $sql_usersid)){
$bbs_H=$usersid['NomUtilisateur'];
renvoie $bbs_H ;
}
fonction vubb($str){
$str=preg_replace("/\[userid=(.+?)\](.+?)\[\/userid\]/is",usvid("$1",'$2'),$str);
retourner $ str ;
}
echo vubb("[userid=10000]xy[/userid]");
Le deuxième paramètre de preg_replace ne peut être qu'une chaîne ou un tableau, l'utilisation de la fonction est erronée
Changez pour le bon preg_replace_callback, le deuxième paramètre est la fonction de rappel
Réécrivez l'exemple comme suit (pas testé s'il est correct ou non) :
Seules 4 lignes ont été modifiées. L'auteur peut réessayer. Veuillez me pardonner s'il y a des erreurs.
Merci pour l'invitation !
Alors, y a-t-il des questions ?
Mon interprétation de votre SQL est :
Je l'ai testé et la sortie SQL est la même que celle que vous avez demandée
sélectionnez * parmi les utilisateurs où Uid='10000' commande par Uid desc