Cara Mengganti Kata dalam String di PHP

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

FungsiPeka 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 gunakan preg_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).

Baca Juga

Ali Akbar

Software Developer yang fokus mengembangkan aplikasi berbasis Web dan Desktop. Senang mempelajari teknologi baru terutama di bidang web design dan web development.

View all posts by Ali Akbar →

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *