Membenarkan fungsi ereg yang telah ditinggalkan (deprecated) di PHP 5.3

jika anda mengupgrade ke PHP 5.3, kemungkinan besar anda akan menemukan beberapa peringatan (warning) dari fungsi-fungsi PHP yang telah ditinggalkan.
Sebagai contoh adalah fungsi ereg dan teman-temannya. Fungsi ini dihilangkan untuk meningkatkan performa kerja serta mengoptimalkan fungsi preg yang kompatibel dengan Perl.
Kejadian ini saya alami ketika menginstall salah satu CMS yang ternyata masih menggunakan fungsi-fungsi ereg, otomatis peringatan muncul dan CMS tidak bisa berjalan dengan sempurna.
Untuk itu saya harus mengubah fungsi ereg dengan preg.
Proses mengubah dari fungsi ereg() :

ereg('\.([^\.]*$)', $source_file, $extension);
menjadi
preg_match('/\.([^\.]*$)/', $source_file, $extension);
Perhatikan bahwa saya menambahkan karakter / pada awal dan akhir pola (\.([^\.]*$)), dimana adalah RegExp delimiters.
Proses untuk mengubah dari fungsi ereg_replace() :
$target = ereg_replace('[^A-Za-z0-9_]', '', $target);
Menjadi
$target = preg_replace('/[^A-Za-z0-9_]/', '', $target);
Perhatikan pattern yang saya tambahkan delimiter /.
Jika anda menggunakan eregi (versi case-sensitive dari ereg), anda tidak bisa mengubahnya ke pregi, karena tidak ada fungsi tersebut.
Untuk menanggulanginya maka dapat dengan cara menambahkan i setelah delimiter pada pola.
eregi('\.([^\.]*$)', $source_file, $extension);
menjadi
preg_match('/\.([^\.]*$)/i', $source_file, $extension);
Have fun with coding :-D

0 Responses