ilmu-linux.com

Network & Linux opensource

 

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

 

php



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);

Leave a reply

Feel free to share your thoughts about this entry.

Nickname
Email
Website
Confirmation image
Confirmation code
Comment