MARAZM, Крч смотри, вот такой варинт, функция getUserLogin(userId) должна принимать ид юзера и возвращать Никнейм если юзер существует или false если юзер не найден.
$string = preg_replace_callback(
'~\[user\]([0-9]+)\[/user\]~',
function($match) {
if(!empty($match[1]) && ($login = getUserLogin($match[1])) != false) {
return '<a href="/anketa.php?id='.$match[1].'">'.$login.'</a>';
}
return '';
},
$string
);