Menghapus Karakter Tertentu Dengan PHP Bagaimana Menghapus Simbol-Simbol
Menghapus karakter tertentu dengan php, kita bahas bagaimana menghapus simbol-simbol di dalam sebuah string menggunakan php. Untuk menghapus semua karakter simbol kecuali spasi angka huruf dengan php tentu kita tidak bisa menggunakan
str_replace
(Agak ribet)Simbol-Simbol |
Function preg_replace adalah salah satu function yang bisa kita gunakan untuk menghapus karakter-karakter tertentu didalam sebuah string, seperti kalimat atau paragraf.
Untuk menyimpan atau menampilkan data dari database kita harus menghapus karakter spesial, misalnya seperti koma (,), tanda petik (‘), tanda tanya (?) dan karakter lainya ! @ # $ % ^ & *() _ + = ~ ` . Admin sendiri lebih sering menggunakan script ini untuk membuat url menjadi lebih rapi agar optimasi search engine bagus.
Untuk belajar preg_replace, kita juga harus memahami regular expression (Regex), untuk itu teman-teman bisa menggunakan beberapa potongan kode snippet dibawah ini agar bisa segera diterapkan.
Regex quick reference
Regex quick reference
[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
Nah, dengan regex di atas kita bisa menghapus karakter-karakter atau simbol simbol didalam sebuah kalimat atau kita sebut didalam string. Kita bisa menggunakan function
str_replace
.Berikut adalah beberapa potongan kode php yang sudah sedot code kumpulkan dari berbagi sumber, semoga bisa membantu dan menyelamatkan harimu hari ini. :D
Menghapus Semua Angka
<?php
//Menghapus semua karakter yang ada pada string kecuali "-" dan angka
$string=" Ini Kalimat AbC dan Ini karakter `~!@#$%^&*()_+=-}{][|\]\";:''?/><., dan Ini angka 123 áà âãªä";
echo "<h2> String : ".$string."</h2><br>";
//Menghapus Semua angka
echo "<br>";
echo preg_replace('/\d/', '', $string );
...
Tanda ...
artinya masih ada kode dibawahnya nanti. Silahkan lanjutMenghapus Semua, Kecuali Angka
//Menghapus Semua Kecuali angka
echo "<br>";
echo preg_replace('/\D/', '', $string);
Menghapus Semua Karakter / Simbol
echo "<br>";
//Menghapus Semua Karakter Kecuali Angka, trim()
echo preg_replace('/[^A-Za-z0-9]/', '', $string);
Sama dengan hal yang ini, silahkan dicoba juga:
echo "<br>";
echo preg_replace('/[^A-Za-z0-9\ ]/', '', $string);
//Better
echo "<br>";
echo preg_replace('#[^A-Za-z0-9\ ]+#', '', $string);
Menghapus Semua Karakter Kecuali Karakter n (Ditentukan)
//Menghapus Seua Karakter Kecuali Karakter n (Ditentukan)
//contoh karakter @
echo "<br>";
echo preg_replace('/[^A-Za-z0-9\@]/', '', $string);
//contoh karakter &*-
echo "<br>";
echo preg_replace('/[^A-Za-z0-9\-\*\& ]/', '', $string);
Silahkan simpan kode kode diatas dan satukan menjadi sebuah file, janga lupa ditambahkan penutupnya
?>
di baris akhir, kalau mau :DStudi Kasus, Seo Friendly URL
Seo friendly URL atau pretty url, untuk mempercantik tampilan sebuah url/link pencarian website mungkin kita harus membuat sebuah functionnya agar lebih mudah digunakan kedepannya. Berikut function yang bisa sahabat gunakan.
function seo_friendly_url($string){
$string = str_replace(array('[\', \']'), '', $string);
$string = preg_replace('/\[.*\]/U', '', $string);
$string = preg_replace('/&(amp;)?#?[a-z0-9]+;/i', '-', $string);
$string = preg_replace(array('/[^a-z0-9]/i', '/[-]+/') , '-', $string);
return strtolower(trim($string, '-'));
}
function seo_url($str){
$string = strtolower($str);
$string = preg_replace('/[^A-Za-z0-9\ ]/','', $string);
$string = preg_replace('!\s+!', ' ', $string);
$string = str_replace(' ','-',$string);
return trim($string,'-');
}
function to_prety_url($str){
if($str !== mb_convert_encoding( mb_convert_encoding($str, 'UTF-32', 'UTF-8'), 'UTF-8', 'UTF-32') )
$str = mb_convert_encoding($str, 'UTF-8', mb_detect_encoding($str));
$str = htmlentities($str, ENT_NOQUOTES, 'UTF-8');
$str = preg_replace('`&([a-z]{1,2})(acute|uml|circ|grave|ring|cedil|slash|tilde|caron|lig);`i', '\1', $str);
$str = html_entity_decode($str, ENT_NOQUOTES, 'UTF-8');
$str = preg_replace(array('`[^a-z0-9]`i','`[-]+`'), '-', $str);
$str = strtolower( trim($str, '-') );
return $str;
}
Sekian dan terima kasih, sudah datang ke blog sedot code ini dan membaca artikel tentang Menghapus Karakter Tertentu Dengan PHP Bagaimana cara Menghapus Simbol-Simbol yang tidak di inginkan didalam pemrograman php.
Komentar
Posting Komentar