Ketika membuat URL ramah-SEO (slug) dari judul artikel, atau membersihkan input agar hanya berisi huruf dan angka, kita perlu membuang karakter khusus seperti tanda seru, koma, atau simbol lain. Artikel ini membahas cara menghapus karakter khusus di PHP.
Menggunakan preg_replace()
<?php
$teks = "Halo, Dunia! #PHP-2026";
echo preg_replace("/[^a-zA-Z0-9 ]/", "", $teks);
// "Halo Dunia PHP2026"
?>
Pola [^a-zA-Z0-9 ] berarti “semua karakter SELAIN huruf, angka, dan spasi”, yang lalu diganti string kosong.
Contoh Kasus: Membuat Slug URL
<?php
function buatSlug($judul) {
$slug = strtolower($judul);
$slug = preg_replace('/[^a-z0-9]+/', '-', $slug); // non-alfanumerik jadi strip
return trim($slug, '-');
}
echo buatSlug("Belajar PHP: Panduan Lengkap!");
// "belajar-php-panduan-lengkap"
?>
Contoh Kasus: Membersihkan Nomor Telepon
<?php
$hp = "+62 (812) 3456-7890";
echo preg_replace('/[^0-9]/', '', $hp); // "6281234567890"
?>
Kesalahan Umum
- Lupa menyertakan spasi di dalam pola sehingga spasi ikut terhapus padahal ingin dipertahankan.
- Menghapus karakter khusus dari kata sandi — justru mengurangi keamanan, jangan lakukan ini.
Kesimpulan
Gunakan preg_replace() dengan pola karakter yang diizinkan untuk menghapus karakter khusus di PHP. Sesuaikan polanya: pertahankan huruf-angka-spasi untuk pembersihan umum, atau hanya angka untuk nomor telepon.
Referensi: untuk penjelasan lebih mendalam, kunjungi dokumentasi resmi PHP (php.net).

