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)
Menghapus Karakter Tertentu Dengan PHP Bagaimana Menghapus Simbol-Simbol
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 lanjut

Menghapus 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 :D

Studi 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;
}
Silahkan dicoba, semuanya berfungsi dengan baik. Mana yang lebih baik dari 3 snipper tersebut? Kita tunggu jawaban dari teman teman.

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.

Baca juga:


  1. Tutorial Mengubah Spasi Menjadi Minus PHP
  2. 40+ Text Editor Programmer Yang Harus Kamu Tahu
  3. Tutorial Tambah Kurang Kali Bagi PHP Sederhana
Load disqus comments

0 komentar