Каков диапазон возможных символов, возвращаемых из этой строки?
function base64url_encode($data) { return rtrim(strtr(base64_encode($data), '+/', '-_'), '='); }
Я предполагаю [a-z0-9 -_]
[a-z0-9 -_]