Fungsi str_replace() Pada Fungsi PHP
Berikut adalah artikel yang membahas fungsi
str_replace()
pada PHP secara menyeluruh, mulai
dari pengertian, sintaks, hingga contoh kasus penggunaannya dalam berbagai
situasi pengembangan web.
1. Pengertian Fungsi str_replace()
Fungsi str_replace()
merupakan salah satu
fungsi bawaan (built-in) dalam PHP yang berfungsi untuk mencari suatu teks
tertentu (search string) di dalam sebuah string atau array, lalu
menggantinya dengan teks lain (replace string). Fungsi ini sangat
bermanfaat saat Anda ingin memanipulasi teks secara otomatis—misalnya untuk
filtering kata, membersihkan data, atau sekadar mengubah format penulisan
tertentu.
Dengan memanfaatkan str_replace()
, Anda dapat mengganti kata
atau karakter yang tidak diinginkan dari input pengguna, menghilangkan tag
HTML spesifik, atau bahkan mengubah format kode tertentu. Selain beroperasi
pada string tunggal, str_replace()
juga dapat bekerja dengan
array sebagai parameter, sehingga cocok untuk mengganti beberapa kata atau
frasa sekaligus.
2. Sintaks str_replace()
Bentuk dasar penulisan fungsi str_replace()
di PHP adalah
sebagai berikut:
str_replace(
string|array $search,
string|array $replace,
string|array $subject,
int &$count = null
: string|array )
Keterangan parameter:
-
$search
- Berisi string atau array yang ingin dicari di dalam subject.
-
$replace
- Berisi string atau array sebagai pengganti search yang ditemukan.
-
$subject
- Merupakan string atau array yang akan dikenai proses pencarian dan penggantian.
-
$count (opsional)
- Berisi variabel yang akan menampung jumlah penggantian yang
terjadi.
- Jika tidak diperlukan, dapat diabaikan.
- Berisi variabel yang akan menampung jumlah penggantian yang
terjadi.
Fungsi ini mengembalikan nilai berupa string atau array (tergantung tipe subject) yang telah mengalami penggantian.
3. Penjelasan Lengkap Parameter
3.1 Parameter $search dan $replace
-
String sederhana:
Jika$search
adalah"abc"
dan$replace
adalah"xyz"
, maka semua kemunculan"abc"
di dalam$subject
akan diubah menjadi"xyz"
. -
Array:
Anda dapat menggunakan array pada$search
dan$replace
secara bersamaan. Pencarian dan penggantian akan dilakukan berdasarkan urutan indeks.
Contoh:$search = ["Kucing", "Anjing"]; $replace = ["Kelinci", "Burung"];
Di sini, setiap
"Kucing"
akan diganti jadi"Kelinci"
, dan setiap"Anjing"
akan diganti jadi"Burung"
.
Catatan: Jika
$search
adalah array tetapi$replace
bukan array, PHP akan menggunakan nilai$replace
yang sama untuk semua elemen$search
.
3.2 Parameter $subject
-
String tunggal:
Jika$subject
adalah sebuah string, makastr_replace()
akan memproses string tersebut dan menghasilkan string sebagai output. -
Array:
Jika$subject
adalah sebuah array, makastr_replace()
akan melakukan penggantian pada setiap elemen array yang bersifat string, dan hasilnya adalah array dengan elemen-elemen yang sudah diproses.
3.3 Parameter $count (opsional)
-
Jika Anda menyediakan sebuah variabel, misalnya
$count
, sebagai parameter ke-4, makastr_replace()
akan menyimpan jumlah total penggantian yang terjadi di dalam variabel tersebut. -
Contoh:
$text = "Halo dunia. Halo semua. Halo PHP!"; $cari = "Halo"; $ganti = "Hai"; $result = str_replace($cari, $ganti, $text, $count); echo $result; // Output: Hai dunia. Hai semua. Hai PHP! echo $count; // Output: 3 (terdapat 3 penggantian)
4. Contoh Penggunaan pada Berbagai Kasus
4.1 Mengganti Satu Kata dalam Sebuah String
Contoh Kasus
Anda ingin mengganti semua kemunculan kata “merah” menjadi “biru” dalam kalimat tertentu.
<?php
$kalimat = "Baju warna merah, sepatu warna merah, topi warna merah";
$hasil = str_replace("merah", "biru", $kalimat);
echo $hasil;
// Output: Baju warna biru, sepatu warna biru, topi warna biru
4.2 Mengganti Banyak Kata Sekaligus
Contoh Kasus
Dalam sebuah teks, Anda ingin mengganti kata “ayam” menjadi “ikan” dan “kucing” menjadi “kelinci”.
<?php
$text = "Saya punya ayam dan kucing di rumah.";
$search = ["ayam", "kucing"];
$replace = ["ikan", "kelinci"];
$result = str_replace($search, $replace, $text);
echo $result;
// Output: Saya punya ikan dan kelinci di rumah.
- Karena
$search
dan$replace
berupa array, penggantian dilakukan secara berurut.str_replace()
akan menggantiayam
→ikan
dankucing
→kelinci
.
4.3 Menghilangkan Karakter/Kata Tertentu
Anda dapat menghilangkan karakter dengan mengganti string target menjadi
string kosong (""
).
Contoh Kasus
Menghapus semua spasi (whitespace) dalam teks.
<?php
$text = "H a l o D u n i a";
$noSpaces = str_replace(" ", "", $text);
echo $noSpaces;
// Output: "HaloDunia"
4.4 Mengubah Format Tanggal
Contoh Kasus
Anda menerima data tanggal dalam format YYYY/MM/DD
dan ingin
menampilkannya dalam format YYYY-MM-DD
.
<?php
$tanggal = "2025/02/24";
$formatted = str_replace("/", "-", $tanggal);
echo $formatted;
// Output: 2025-02-24
- Dengan cara ini, Anda dapat memudahkan proses konversi format tanpa harus menggunakan fungsi parsing tanggal yang lebih kompleks (tergantung kebutuhan).
4.5 Penggunaan pada Elemen Array
Contoh Kasus
Terdapat array nama buah, di mana Anda ingin mengganti "Jeruk"
menjadi "Apel"
pada setiap elemen yang mengandung kata “Jeruk”.
<?php
$buah = ["Jeruk Manis", "Jeruk Nipis", "Semangka", "Jeruk Bali"];
$hasil = str_replace("Jeruk", "Apel", $buah);
print_r($hasil);
// Output:
// Array
// (
// [0] => Apel Manis
// [1] => Apel Nipis
// [2] => Semangka
// [3] => Apel Bali
// )
-
str_replace()
memproses setiap elemen array, menggantikan “Jeruk” menjadi “Apel” di mana pun ditemukan.
4.6 Menghitung Jumlah Penggantian
Contoh Kasus
Anda ingin tahu berapa kali kata “Halo” diganti menjadi “Hai” dalam sebuah kalimat.
<?php
$kalimat = "Halo teman. Halo sahabat. Halo semua!";
$kataCari = "Halo";
$kataGanti = "Hai";
$result = str_replace($kataCari, $kataGanti, $kalimat, $count);
echo $result; // Hai teman. Hai sahabat. Hai semua!
echo $count; // 3 (ada 3 kata 'Halo' yang diganti)
4.7 Mengatasi Case Sensitivity
Perlu diingat bahwa str_replace()
bersifat
case-sensitive. Jika Anda memerlukan fungsi yang tidak membedakan
huruf besar/kecil, Anda bisa menggunakan
str_ireplace()
. Misalnya:
<?php
$text = "Halo Dunia! halo semua!";
$result = str_ireplace("halo", "Hai", $text);
echo $result;
// Output: Hai Dunia! Hai semua!
Pada contoh di atas, “Halo” dan “halo” akan dikenali sebagai kata yang sama
karena str_ireplace()
bersifat case-insensitive.
5. Tips dan Trik
-
Gunakan
str_ireplace()
jika tidak peduli huruf besar/kecil
Berguna untuk memproses teks yang bervariasi dalam penulisan, misalnya “PHP”, “Php”, atau “php” akan dianggap sama. -
Perhatikan Urutan Array
search
danreplace
Penggantian dilakukan sesuai indeks array. Pastikan jumlah elemen di$search
dan$replace
sama untuk menghindari hasil yang tidak diinginkan. -
Penggunaan Regex
Jika penggantian yang Anda perlukan lebih kompleks (misalnya pola tertentu), Anda dapat menggunakan fungsipreg_replace()
yang mendukung regular expression. -
Efisiensi
Jika Anda mengganti ribuan karakter sekaligus, pertimbangkan cara-cara optimal untuk meminimalisir pemanggilan fungsi. Penggunaanstr_replace()
beberapa kali bisa diganti dengan sekali pemanggilan dengan array$search
dan$replace
. -
Keamanan
- Dalam konteks keamanan (misalnya sanitasi input),
str_replace()
bisa menghapus karakter berbahaya.
- Namun, untuk penanganan data HTML atau JavaScript injeksi,
escaping yang tepat atau penggunaan fungsi khusus (seperti
htmlspecialchars()
) tetap disarankan.
- Dalam konteks keamanan (misalnya sanitasi input),
Kesimpulan
Fungsi str_replace()
di PHP adalah alat yang
sederhana namun sangat berguna untuk memanipulasi string maupun elemen array.
Dengan parameter yang fleksibel—dapat berupa string tunggal atau array—Anda
dapat melakukan perubahan teks secara cepat dan efisien sesuai kebutuhan
aplikasi. Untuk kasus di mana sensitivitas huruf atau pola pencarian lebih
rumit, Anda bisa menggunakan fungsi str_ireplace()
atau
preg_replace()
.
Memahami cara kerja dan berbagai contoh implementasi
str_replace()
akan membantu Anda melakukan transformasi teks,
membersihkan input, memperbarui format data, dan berbagai keperluan lain yang
melibatkan penggantian karakter atau kata tertentu. Semoga ulasan dan
contoh-contoh di atas bermanfaat dalam memaksimalkan penggunaan fungsi
str_replace()
dalam proyek PHP Anda.
Baca Juga :