문제를 해결하기 위해서는 질문과 같이 콘텐츠에 표시된 사용자 ID를 읽어 데이터베이스에서 사용자 이름을 검색하는 것이 목적입니다.
문제는 "$1"만 읽을 수 있지만 값을 얻을 수 없다는 것입니다.
함수 usvid($csse,$uvid){
전역 $db,$DBprefix;
echo $csse.$uvid; $sql_usersid=mysql_query($query_usersid); $sql_usersid=mysql_fetch_array( $sql_usersid)){
$bbs_H=$usersid['사용자 이름'] }
$bbs_H를 반환합니다.
}
함수 vubb($str){
$str=preg_replace("/\[userid=(.+?)\](.+?)\[\/userid\]/is",usvid("$1",'$2'),$str);
$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