Sensor nama menjadi tanda bintang (*)

Ceritanya saya mau menyensor nama nama yg donasi dengan menampilkan 3 huruf pertama lalu sisanya di ganti menjadi tanda bintang (*). Saya sudah cari di gugel, ada tapi string yang di sensor sudah di tentukan berapa karakter, seperti nomor hp, menyensor 4 digit belakang, depan atau tengah. Tapi saya belum menemukan solusi untuk nama, karena string yang akan di sensor tidak bisa di tentukan berapa karakter.

Berikut saya sertakan kode saya

<?php $nama = $ld['user_nama']; ?>
<?php $jumlah_sensor = 3; ?>
<?php $setelah_angka_ke = 3; ?>
<?php $censored = mb_substr($nama, $setelah_angka_ke, $jumlah_sensor); ?>
<?php $nama2=explode($censored,$nama); ?>
<?php $nama_new=$nama2[0]."***".$nama2[1]; ?>
<div class="donoer-info">
<div class="icon"><i class="fas fa-donate"></i></div>
<div class="content"><h3 class="title"><?php echo $nama_new; ?></h3>

Berikut hasilnya

sensor-nama.PNG

Mohon pencerahannya teman2. Terima kasih.

avatar Ahmad554
@Ahmad554

95 Kontribusi 39 Poin

Diperbarui 2 tahun yang lalu

1 Jawaban:

Jawaban Terpilih

<pre>&lt;?php function sensorNama( string $nama, string $sensor = "*", int $tampilkan = 3) { if (strlen($nama) &lt;= $tampilkan) { return $nama; }

$replen = strlen($nama) - $tampilkan;
$result = substr($nama, 0, $tampilkan) . str_repeat($sensor, $replen);

return $result;

} ?&gt;</pre><div><br></div><pre>&lt;?php echo "Fathurrohman = " . sensorNama("Fathurrohman"); // Fathurrohman = Fat********* echo "&lt;br&gt;"; echo "Fat = " . sensorNama("Fat"); // Fat echo "&lt;br&gt;"; echo "Hidayah = " . sensorNama("Hidayah", "♡"); // Hidayah = Hid♡♡♡♡ echo "&lt;br&gt;"; echo "Yah = " . sensorNama("Yah", "#", 2); // Yah = Ya# ?&gt;</pre><div><br>Screenshot: <a href="https://ibb.co/RTYknJZ">https://ibb.co/RTYknJZ</a></div>

avatar fathurrohman26
@fathurrohman26

2 Kontribusi 5 Poin

Dipost 2 tahun yang lalu

Tanggapan

Makasih responnya mas, sudah sy coba dan berhasil. Thanks

Login untuk ikut Jawaban