Memeriksa apakah sebuah teks mengandung kata tertentu adalah kebutuhan sehari-hari: menyaring komentar spam, mendeteksi kata kunci, atau memvalidasi format. Artikel ini membahas cara memeriksa string mengandung kata di PHP.
str_contains() (PHP 8+)
<?php
$teks = "Belajar PHP itu seru";
if (str_contains($teks, "PHP")) {
echo "Mengandung kata PHP";
}
?>
strpos() untuk PHP Versi Lama
<?php
if (strpos($teks, "PHP") !== false) {
echo "Ditemukan";
}
?>
Perhatikan !== false. Karena posisi bisa bernilai 0 (di awal), memakai if (strpos(...)) saja adalah bug klasik.
Contoh Kasus: Filter Komentar Spam
<?php
$komentar = strtolower($_POST["komentar"]);
$spam = ["viagra", "casino", "kredit murah"];
foreach ($spam as $kata) {
if (str_contains($komentar, $kata)) {
exit("Komentar terdeteksi spam");
}
}
?>
Contoh Kasus: Cek Domain Email
<?php
$email = "budi@gmail.com";
if (str_contains($email, "@gmail.com")) {
echo "Pengguna Gmail";
}
?>
Kesimpulan
Di PHP 8, str_contains() adalah cara termudah memeriksa keberadaan kata. Untuk versi lama, gunakan strpos() dengan !== false. Samakan huruf dengan strtolower() bila pencarian perlu mengabaikan besar-kecil.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

