avgust 30, 2009

Kako popraviti `ereg is deprecated` u PHP 5.3

Napisano pod: Informacione tehnologije,Softver — Aleksandar @ 13:24

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/

Share and Enjoy:
  • Print
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google Bookmarks
  • LinkedIn
  • Live
  • MySpace
  • PDF
  • RSS
  • Twitter
  • Yahoo! Bookmarks

Leave a Reply

Comment moderation is enabled. Your comment may take some time to appear.