Каков диапазон возможных символов, возвращаемых из этой строки?
function base64url_encode($data) { return rtrim(strtr(base64_encode($data), '+/', '-_'), '='); }
Мое предположение – [a-z0-9-_]
Диапазон возвращаемых символов:
A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U, V, W, X, Y, Z a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y, z 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 - ( минус ) и _ ( подчеркивание ) В вашем стиле с регулярным выражением это будет [a-zA-Z0-9_-] .
Закодированные строки Base64 могут содержать символы az AZ 0-9 + / = .
Вы удаляете правое заполнение = и заменяете + на - и / с _ .
Итак, в вашем случае, да, возможные символы: az AZ 0-9 - _
Больше информации