Di PHP, ada beberapa macam fungsi yang bisa kita gunakan untuk memanipulasi string atau kalimat di PHP, yaitu :
1) STR_REPLACE()
Fungsi ini digunakan untuk mengganti huruf/kata dari suatu kalimat. Fungsi ini bersifat case sensitive.
a) Mengganti kata :
<?php $text = "Hello world"; echo str_replace("world", "you", $text); // Hello you $text1 = "Hello world"; echo str_replace("World", "you", $text1); // Hello world ?>
b) Mengganti beberapa huruf sekaligus secara bersamaan :
<?php $text = "Hello world"; $cari_huruf = array('H', 'r', 'd'); $huruf_baru = array('S', 'e', 'u'); echo str_replace($cari_huruf, $huruf_baru, $text); // Sello woelu ?>
c) Menghitung jumlah huruf yang muncul dari suatu kalimat :
<?php $str = str_replace("dia", "", "dia itu pak RT. diaa itu jago matematika. Dia orangnya asik", $count); echo $count; // 2 ?>
2) STR_IREPLACE()
Mengganti huruf/kata dari suatu kalimat, bersifat case insensitive.
a) Mengganti kata :
<?php $text = "Hello world"; echo str_ireplace("world", "you", $text); // Hello you $text1 = "Hello world"; echo str_ireplace("WORLD", "you", $text1); // Hello you ?>
b) Mengganti beberapa huruf sekaligus secara bersamaan :
<?php $text = "Hello world"; $cari_huruf = array('HE', 'R', 'D'); $huruf_baru = array('se', 'y', 'e'); echo str_ireplace($cari_huruf, $huruf_baru, $text); // sello woyle ?>
c) Menghitung jumlah huruf yang muncul dari suatu kalimat :
<?php $str = str_ireplace("dia", "", "DIA itu pak RT. DIAA itu jago matematika. Dia orangnya asik", $count); echo $count; // 3 ?>
3) EXPLODE()
Memecah string / kalimat menjadi array. Fungsi ini bersifat case sensitive.
a) memecah kalimat berdasarkan spasi :
<?php $text = "Hello world"; $pecah = explode(' ', $text); echo $pecah[0]; // Hello echo $pecah[1]; // world $e = explode(' ', $text); echo $e[0]; // Hello world ?>
b) memecah kalimat dengan limit :
<?php $str = 'satu|dua|tiga'; $pecah = explode('|', $str, 2); print_r($pecah); // Array ( [0] => satu [1] => dua|tiga ) echo $pecah[0]; // satu echo $pecah[1]; // dua|tiga $pecah1 = explode('|', $str, 3); print_r($pecah1); // Array ( [0] => satu [1] => dua [2] => tiga ) echo $pecah1[0]; // satu echo $pecah1[1]; // dua echo $pecah1[2]; // tiga ?>
4) PREG_SPLIT()
Fungsi preg_split() mirip dengan explode(), yaitu memecah string ke dalam bentuk array. Fungsi ini bersifat case sensitive / case insensitive, jadi bisa digunakan sesuai kebutuhan.
a) Memecah string yang case insensitive :
<?php $text = "Hey, HARI ini hari libur"; $pecah = preg_split('/hari/i', $text); print_r($pecah); // Array ( [0] => Hey, [1] => ini [2] => libur ) echo $pecah[0]; // Hey, echo $pecah[1]; // ini echo $pecah[2]; // libur ?>
Pola ‘/hari/i’ akan sama dengan ‘harI’, ‘haRi’, atau ‘HARI’, atau ‘hari’ dengan menambahkan script ‘i’ supaya case insensitive.
b) Memecah string berdasarkan pola angka :
<?php $text = "0123456789"; $pecah = preg_split('/[0-2]/', $text); print_r($pecah); // Array ( [0] => [1] => [2] => [3] => 3456789 ) echo $pecah[0]; // echo $pecah[1]; // echo $pecah[2]; // echo $pecah[3]; // 3456789 ?>
Pola [0-2] artinya akan memecah string dari angka 0,1 dan 2.
c) Memecah string berdasarkan pola huruf :
<?php $text = "0 A 1 b 2 C 3 d 4 E 5 f 6 g 7"; $pecah = preg_split('/[a-g]/i', $text); print_r($pecah); // Array ( [0] => 0 [1] => 1 [2] => 2 [3] => 3 [4] => 4 [5] => 5 [6] => 6 [7] => 7 ) echo $pecah[0]; // 0 echo $pecah[1]; // 1 echo $pecah[2]; // 2 echo $pecah[3]; // 3 echo $pecah[4]; // 4 echo $pecah[5]; // 5 echo $pecah[6]; // 6 echo $pecah[7]; // 7 ?>
Pola [a-g] artinya akan memecah string dari huruf a, b, c, d, e, f, g secara case insensitive.
5) SUBSTR()
Mengambil/memotong sebuah string berdasarkan posisi string.
<?php $text = "ijklmno"; echo substr($text, 1); // jklmno echo substr($text, 1, 3); // jkl echo substr($text, 0, 6); // ijklmn echo substr($text, 6, 6); // o echo substr($text, 6, 8); // o echo substr($text, -3, 2); // mn ?>
6) PREG_REPLACE()
Mengganti huruf dari suatu kalimat berdasarkan pola yang sudah ditentukan. Pola ini biasa disebut “regular expression”.
<?php $text = "Halo? halo apa kabar?"; echo preg_replace('/apa/', 'gimana', $text); // Halo? halo gimana kabar? echo preg_replace('/\?/', '!', $text); // Halo! halo apa kabar! echo preg_replace('/\?$/', '!', $text); // Halo? halo apa kabar! echo preg_replace('/(Halo)\? \1/i', '\1', $text); // Halo apa kabar? ?>
– Mem-bold/menebalkan kata hasil pencarian (seperti pencarian di google) :
<?php $text = "Perkembangan teknologi informasi dan komunikasi berkembang sangat pesat di era globalisasi saat ini. Pesatnya perkembangan ini pun berdampak pada berbagai aspek kehidupan termasuk dunia pendidikan. Perubahan teknologi ini memicu dunia pendidikan untuk selalu berinovasi dalam usaha peningkatan baik akses maupun mutu pendidikan sesuai dengan perkembangan teknologi yang ada. Perkembangan penggunaan teknologi informasi dan komunikasi khususnya pada bidang pendidikan, saat ini semakin pesat. Perubahan ini pun memicu terjadinya perubahan paradigma dalam dunia pendidikan dari techer centered menjadi student centered"; $keyword = "pesatnya perkembangan teknologi merubah paradigma pendidikan"; $pattern = str_replace(' ', '|', $keyword); $replace = preg_replace("/$pattern/i", '<span style="font-weight:bold">\0</span>', $text); echo $replace; ?>
7) STRREV()
Fungsi ini digunakan untuk membalik (reverse) string.
<?php echo strrev("Hello world!"); // !dlrow olleH ?>
8) STR_SHUFFLE
Fungsi ini digunakan untuk mengacak string secara random.
<?php echo str_shuffle("Hello world"); // ldowHo rlle ?>