Я получаю полный заголовок запроса от третьей стороны. Мне нужно скрыть пароль и имя пользователя.
Php-Auth-Pw: p@ssword
Php-Auth-User: testuser
Как я могу сделать так, чтобы это выглядело так
Php-Auth-Pw: ******
Php-Auth-User: ******
Я пока не полностью понимаю регулярные выражения, и я только что прочитал кое-что о lookbehinds.
Я нашел это;
(?<=\Php-Auth-Pw:\s)(\w+)
(?<=\Php-Auth-User:\s)(\w+)
Но что будет правильным способом сделать это с PHP-вкусом?
Вы можете заменить их одним звонком preg_replace
:
$s = preg_replace('~\bPhp-Auth-(?:Pw|User):\s*\K\S+~', '******', $s);
Увидеть regex demo
подробности:
\b
— ведущая граница словаPhp-Auth-
— буквенная последовательность символов Php-Auth-
(?:Pw|User)
— либо Pw
или же User
подстрока:
— двоеточие\s*
— 0+ пробелов\K
— оператор сброса матча\S+
— 1 или более непробельных символовДругих решений пока нет …