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. Berikut adalah cara membenarkan fungsi ereg yang telah ditinggalkan.
Fungsi Ereg yang 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.
Cara membenarkan fungsi ereg yang sudah ditinggalkan
Langkah Pertama
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.
Contoh kode
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 /.
Kode eregi
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
if you think this article is useful , please leave a comment..
19 Comments
Join the discussion and tell us your opinion.
thx oom chandra 🙂
(Y) (Y) (Y) (Y) (Y) (Y) (Y) (Y)
sama – sama 😀
ini yang ane lagi cari-cari.. (Y)
makasih bang candra 😀
if (ereg(‘http://’, $q) or !file_exists(“$q.php”)) ini scrip saya yang error sudah saya ganti dengan if (preg_match(‘http://’, $q) or !file_exists(“$q.php”)) tapi masih error juga mas,,, erornya “preg_match() [function.preg-match]: Delimiter must not be alphanumeric or backslash” minta pencerahannya gan
coba ganti dengan fungsi berikut :
if (preg_match(‘#http://#’, $q) or !file_exists(“$q.php”))
@anggar: coba aja ganti ereg_replace dengan str_replace, mungkin bisa…hehe 😀
siip trimaksi infonya bermanfaat sekali …
sangat bermanfaat trimksi infonya..
terimakasih banyak gan 😀
kok masih tetap eror gan,,, scriptnya aslinya sebelumnya gini:
$judul =eregi_replace(“‘”,” “,$judul);
lalu takrubah sesuai tutorial diatas jadi gini:
$judul =preg_match(“‘”,”‘ ‘”,$judul);
tp kemudian muncul eror :
Warning: preg_match() [function.preg-match]: No ending delimiter ”’
ada solusi gan?
itu salah di penulisan petiknya bro. coba diteliti lagi.
tanda petik yg mana salah broo, maklum lagi belajar..
@ agan mu2n thanks gan berhasil.. N admin thanks juga udh buka diskusinya
wah, makasi infonya
ini di lakukan perubahanya di file apa ya, step stepnya giaman ya?
thanks gan buat informasinya 🙂
sangat membantu master. thaks..
bimbingannya dong buat admin supaya webnya banyak pengunjung
Sangat bermanfaat, terimakasih infonya . ditunggu artikel selanjutnya