Как скрыть часть строки звёздочками
Короткий ответ
substr_replace() заменяет часть строки по позиции:
<?php
echo substr_replace('4276123456789012', str_repeat('*', 8), 4, 8);Результат:
4276********9012Только последние четыре цифры
Оставьте конец строки и дополните его слева:
<?php
$card = '4276123456789012';
echo str_repeat('*', strlen($card) - 4) . substr($card, -4);Результат:
************9012Адрес почты
Скройте имя, оставив первую букву и домен:
<?php
$email = 'anna.smith@example.com';
$name = strstr($email, '@', true);
echo $name[0] . str_repeat('*', strlen($name) - 1) . strstr($email, '@');Результат:
a*********@example.comФункции из этого ответа
- substr_replace — Заменяет часть строки по позиции.
- str_repeat — Повторяет строку заданное число раз.
- strstr — Возвращает часть строки начиная с первого вхождения подстроки.