Pada pembahasan ini aku coba sharing tentang suatu cara untuk menghilangkan / menghapus atau bisa juga mengganti suatu / semua special character di suatu teks atau suatu input user.
Sebenernya ini mungkin hal biasa bagi yang sudah master PHP 🙂 tapi aku baru nemu masalahnya ini kemaren, tapi akhirnya alhamdulillah bisa memecahkannya 🙂
Algoritma dari fungsi remove special character yang aku buat ini adalah sebagai berikut :
- Dapatkan inputan teks / definisi suatu teks
- Simbol – simbol / special character yang ada aku ganti dengan tanda ” – “
- Hasil dari pergantian simbol diatas, aku jadikan suatu variabel bertipe array
- Lakukan perulangan :
– Cek apakah setiap elemen array tadi bernilai null / kosong
– Jika iya, maka simpan pada suatu variabel temp ditambah dengan spasi.
– Jika tidak lanjutkan perulangan hingga sampai batas akhir jumlah elemen array tadi - Tampilkan hasil proses perulangan diatas dan selesai
Setelah sedikit penjelasan algoritma diatas, sekarang giliran kode fungsi PHP nya, silahkan pahami source code dibawah ini :
function rmSpecialChar($teks){
$a = $teks;
$b = preg_replace("/[^a-z0-9_\-\.]/i","-",$a);
$c = explode("-",$b);
for($d=0;$d<count($c);$d++){
if(trim($c[$d])!="") $e .= $c[$d]." ";
}
$e = strtolower(substr($e,0,strlen($e)-1));
$f = str_replace(" ","-",$e);
return $f;
}

cuman mau nambahin infonya, kalau ngak salah logika diatas dipakai untuk membuat permalink text pada wordpress,.. 🙂