Jak w php zamienić np. "Nazwisko" na "Naz*****". Czyli chodzi mi oto aby kilka liter pozostało bez zmian a resztę zamienić.
Poczytaj dokumentację od tych funkcji
https://www.php.net/manual/en/function.substr.php
https://www.php.net/manual/en/function.str-repeat.php
https://www.php.net/manual/en/function.strlen.php
A ta załatwi Ci chyba wszystko za jednym razem
https://www.php.net/manual/en/function.substr-replace.php
A czy masz z czymś konkretnym problem?
Ewentualnie jeszcze można wykorzystać do tego regex'y
. Mamy na forum specjalistę od regexów w PHP - @TomRiddle i jego projekt https://t-regx.com/
<?php echo substr_replace('Nazwisko', '***', 3, 250); ?>
To najprościej to chyba będzie tak zrobić choć liczba gwiazdek nie będzie taka sama jak liczba liter ukrytych.
<?php echo substr_replace($nazwisko, '***', -3); ?>
albo
<?php echo substr_replace($nazwisko, '*****', -5); ?>
...w zależności od tego jak długie jest $nazwisko, są takie które są nawet ledwie 3-literowe (np. Lis), mozna też prosto zrobić algorytm który wytnie połowę (zaokrąglając do góry) od końca.
$string = "Nazwisko";
$j = strlen($string);
$newString = "";
for ($i=0; $i < $j ; $i++)
{
if ($i<3)
{
$newString = $newString . $string[$i];
}
else
{
$newString = $newString . "*";
}
}
echo $newString;
Tak sobie poradziłem, dzięki za pomoc.
Do zamknięcia :)
PavlO. napisał(a):
Jak w php zamienić np. "Nazwisko" na "Naz*****". Czyli chodzi mi oto aby kilka liter pozostało bez zmian a resztę zamienić.
To wszystko zależy od tego według jakich reguł chciałbyś podmieniać te znaki. Ile sposobów podmiany tyle rozwiązań.
PS: Np musiałbyś się zastanowić co powinno wyjść kiedy ktoś poda słowo np na 2 litery?