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

if you think this article is useful (Y) , please leave a comment.. ;-)

19 Comments

Join the discussion and tell us your opinion.

inoreply
29 Mei 2010 at 10:48 am

thx oom chandra 🙂

(Y) (Y) (Y) (Y) (Y) (Y) (Y) (Y)

Christian Chandra
17 Nov 2010 at 8:48 pm
– In reply to: ino

sama – sama 😀

rianfzreply
24 Apr 2011 at 11:11 am

ini yang ane lagi cari-cari.. (Y)
makasih bang candra 😀

anggarreply
7 Nov 2011 at 3:53 pm

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

Ian Mustafa
29 Des 2011 at 5:43 pm
– In reply to: anggar

coba ganti dengan fungsi berikut :
if (preg_match(‘#http://#’, $q) or !file_exists(“$q.php”))

mu2nreply
30 Des 2011 at 3:23 am

@anggar: coba aja ganti ereg_replace dengan str_replace, mungkin bisa…hehe 😀

amwebreply
8 Jan 2012 at 1:11 pm

siip trimaksi infonya bermanfaat sekali …

wongreply
10 Sep 2012 at 8:02 pm

sangat bermanfaat trimksi infonya..

iamreply
11 Jan 2013 at 8:10 am

terimakasih banyak gan 😀

Danireply
25 Jan 2013 at 10:06 pm

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?

Christian Chandra
5 Mar 2013 at 4:52 pm
– In reply to: Dani

itu salah di penulisan petiknya bro. coba diteliti lagi.

ocel
8 Sep 2013 at 8:04 pm
– In reply to: Christian Chandra

tanda petik yg mana salah broo, maklum lagi belajar..

tralinetreply
24 Mei 2013 at 10:52 pm

@ agan mu2n thanks gan berhasil.. N admin thanks juga udh buka diskusinya

mitareply
12 Jun 2013 at 10:45 pm

wah, makasi infonya

adulreply
2 Jul 2013 at 4:10 pm

ini di lakukan perubahanya di file apa ya, step stepnya giaman ya?

Andrereply
6 Okt 2014 at 10:19 am

thanks gan buat informasinya 🙂

ahyulreply
30 Des 2014 at 2:37 pm

sangat membantu master. thaks..

jual furniturereply
21 Jun 2015 at 11:43 am

bimbingannya dong buat admin supaya webnya banyak pengunjung

Dewi malianareply
2 Agu 2018 at 10:20 pm

Sangat bermanfaat, terimakasih infonya . ditunggu artikel selanjutnya

Leave a reply