Cara Menghapus Karakter Khusus dari String di PHP

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).

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 *