Fungsi mengganti kata di dalam teks ibarat fitur “Find and Replace” pada aplikasi pengolah kata, tetapi otomatis lewat kode. Kegunaannya luas: menyensor kata kasar, mengganti placeholder di template email, hingga membersihkan format nomor. Artikel ini membahas cara mengganti kata di PHP dengan str_replace().
Fungsi str_replace()
<?php
$teks = "Saya suka kopi";
echo str_replace("kopi", "teh", $teks); // "Saya suka teh"
?>
Contoh Kasus: Template Email dengan Placeholder
Pola paling berguna adalah mengganti beberapa penanda sekaligus menggunakan array:
<?php
$template = "Halo {nama}, tagihan Anda sebesar {jumlah}.";
$cari = ["{nama}", "{jumlah}"];
$ganti = ["Budi", "Rp150.000"];
echo str_replace($cari, $ganti, $template);
// "Halo Budi, tagihan Anda sebesar Rp150.000."
?>
Contoh Kasus: Menyensor Kata Terlarang
<?php $komentar = "dasar bodoh sekali"; $larangan = ["bodoh", "goblok"]; echo str_replace($larangan, "***", $komentar); // "dasar *** sekali" ?>
Menghitung Jumlah Penggantian
Parameter keempat (opsional) menampung berapa kali penggantian terjadi:
<?php
$jumlah = 0;
str_replace("a", "o", "mata kaca", $jumlah);
echo $jumlah; // 3
?>
str_replace vs str_ireplace
| Fungsi | Peka Huruf Besar/Kecil? |
|---|---|
| str_replace() | Ya (Kopi ≠ kopi) |
| str_ireplace() | Tidak (Kopi = kopi) |
Kesalahan Umum
- Penggantian beruntun tak disengaja: mengganti “a” jadi “b” lalu “b” jadi “c” pada pemanggilan terpisah bisa menghasilkan efek berantai. Gunakan array agar diproses sekali jalan.
- Mengira
str_replace()memahami pola — untuk pola gunakanpreg_replace().
Kesimpulan
Gunakan str_replace() untuk mengganti teks pasti, dengan array untuk beberapa penggantian sekaligus, dan str_ireplace() bila ingin mengabaikan besar-kecil huruf. Untuk penggantian berbasis pola, beralihlah ke preg_replace().
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

