Kako popraviti `ereg is deprecated` u PHP 5.3

Ukoliko ste prešli na PHP 5.3, postoje mogućnosti da ćete dobijati razna upozorenja o “deprecated” funkcijama – onima koje više nisu u planu za korišćenje i kojih neće biti u narednim verzijama.
Kao primer to je ereg familija funkcija, koja je i sporija od Perl-compatible preg familije funkcija.

a.

Za migraciju ereg():

ereg(‘\.([^\.]*$)’, $this->file_src_name, $extension);

koristite

preg_match(‘/\.([^\.]*$)/’, $this->file_src_name, $extension);

Obratite pažnju na  (\.([^\.]*$)) unutar / /, što je RegExp graničnik. Ukoliko imate previše ovakvih graničnika možete koristiti graničnik #.

b.

Za migraciju ereg_replace():

$this->file_dst_name_body = ereg_replace(‘[^A-Za-z0-9_]’, ”, $this->file_dst_name_body);

koristite

$this->file_dst_name_body = preg_replace(‘/[^A-Za-z0-9_]/’, ”, $this->file_dst_name_body);

Dakle, ponovo se koriste graničnici u obrascu.

c.

Ukoliko koristite eregi funkciju – case insesitive verziju ereg funkcije – nećete imati ekvivalentnu funckiju za zamenu iz razloga što se ta funkcionalnost obrađuje uz pomoć RegExp modifikatora.

Znači, umesto

eregi(‘\.([^\.]*$)’, $this->file_src_name, $extension);

koristite

preg_match(‘/\.([^\.]*$)/i’, $this->file_src_name, $extension);

izvor:
http://devthought.com/tumble/2009/06/fix-ereg-is-deprecated-errors-in-php-53/

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.