Cara Menghapus Spesial Karakter di PHP dengan preg_replace

Ketika kita membuat sebuah pogram aplikasi terkadang kita membutuhkan fungsi yang bertugas untuk menghilangkan karakter dan simbol khusus sebelum kita mengolah data tersebut.

Hal ini bertujuan untuk meminimalisir hal-hal yang tidak diinginkan seperti SQL Injection ataupun gagalnya proses input ke database karena tersisipnya karakter khusus. Bisa juga untuk validasi form, jadi kita membatasi karakter inputan yang masuk kedalam database.

Sebenarnya ada beberapa cara untuk menghapus spesial karakter di php, misalnya str_replace. Namun Saya pribadi lebih sering menggunakan fungsi preg_replace:

Cara Menghapus Spesial Karakter di PHP dengan preg_replace

Sintaks PHP


mixed preg_replace (mixed pattern, mixed replacement, mixed string [, int limit [, int &$count]] );

Biasanya saya menggunakan fungsi ini untuk menjaga konsistensi data agar seragam, misalnya saya ingin menyimpan daftar nomor HP dan pada praktiknya ada yang memasukan data sebagai berikut:

085123456789
+6285123456789
+62851-2345-6789

Padahal yang saya butuhkan adalah nomor HP dengan format 085123456789. Untuk itu saya harus menghilangkan karakter selain angka tersebut.

Regular Expressions


Untuk memudahkan penjelasan teman-teman bisa melihat snippet kode regex berikut ini:

[abc]     A single character: a, b or c
[^abc]     Any single character but a, b, or c
[a-z]     Any single character in the range a-z
[a-zA-Z]     Any single character in the range a-z or A-Z
^     Start of line
$     End of line
\A     Start of string
\z     End of string
.     Any single character
\s     Any whitespace character
\S     Any non-whitespace character
\d     Any digit
\D     Any non-digit
\w     Any word character (letter, number, underscore)
\W     Any non-word character
\b     Any word boundary character
(...)     Capture everything enclosed
(a|b)     a or b
a?     Zero or one of a
a*     Zero or more of a
a+     One or more of a
a{3}     Exactly 3 of a
a{3,}     3 or more of a
a{3,6}     Between 3 and 6 of a

Menghapus Spesial Karakter Pada String


Menghapus semua karakter yang ada pada string tanpa terkecuali

<?php
$string="contoh kalimat string 43%^%^&%^";
echo $hasil = preg_replace(‘/[^A-Za-z0-9\-]/’, ”, $string);
?>

Menghapus Spesial Karakter kecuali space / spasi

<?php
$string="contoh kalimat string 43%^%^&%^";
echo $hasil = preg_replace(‘/[^A-Za-z0-9\  ]/’, ”, $string);
?>

Jadi jika di lihat dari contoh yang pertama letak perbedaan pada script kedua yaitu pada backslace setelah angka sembilan. Pada contoh yang pertama terdapat tanda – itu berarti tanpa pengecualian. Sedang pada contoh yang kedua pada setelah sembila dan backslace (9\) terdapat jarak atau space, nah artinya adalah penghapusan atau perumahan kecuali spasi.

Demikianlah sedikit pembahasan mengenai bagaimana cara menghapus karakter khusus menggunakan fungsi preg_replace di PHP. Semoga bermanfaat untuk kita semua.

Belajar Bahasa Pemrograman Java untuk Pemula dari Nol sampai Mahir

Bagi anda yang ingin belajar membuat aplikasi dekstop atau bahkan versi mobile, mungkin Java menjadi bahasa pemrograman yang tepat. Mengapa demikian?

Java adalah bahasa pemograman yang dapat dijalankan baik di komputer ataupun ponsel dan merupakan bahasa pemograman yang bersifat umum.

Contoh Program Percabangan Switch Case Sederhana pada Java

Pada artikel sebelumnya kita telah mempelajari fungsi percabangan if-else, dan pada kesempatan kali ini kita akan belajar konsep percabangan switch case.

Contoh Program Sederhana If Else pada Bahasa Java [Studi Kasus]

Dalam kehudipan sehari-hari pasti kita sering menghadapi sebuah pilihan dan begitu juga dalam program. Untuk itu kita membutuhkan fungsi percabangan.

Macam-macam Tipe Data pada Java dan Fungsinya [Primitif & Referensi]

"Tipe data adalah suatu nilai yang dapat dinyatakan dalam bentuk konstanta atau variabel dan operator. Konstanta menyatakan nilai yang tetap, sedangkan variabel menyatakan nilai yang dapat berubah-ubah selama eksekusi berlangsung."

Aturan Penulisan: Variabel, Konstanta, Method dan Class yang Benar [Java]

Mungkin banyak dari anda sudah tahu bahwa: bahasa pemrograman Java bersifat case sensitive itu artinya namaVariabel tidak sama dengan namavariabel.

Contoh Program Percabangan Case Of Else pada Pascal [Studi Kasus]

Jika sebelumnya anda sudah mengenal percabangan if then else pada pascal, maka sekarang kita akan mempelajari percabangan case of. Namun tahukah anda apa yang dimaksud dengan percabangan case of?