Se avete fatto l’aggiornamento a PHP 5.3, ci sono alte probabilità che ci saranno alcuni avvisi o messaggi di funzioni deprecate, in alcuni casi ferma totalmente lo script.
Un esempio è la famiglia di funzioni ereg, che sono stati prese per buone per tanto tempo, anche se erano più lente e ci si sentiva meno familiare all’alternativa compatibile con famiglia preg di Perl.
Fix ereg
⤽
Con il rilascio della versione 5.3 di PHP le funzioni per le espressioni regolari POSIX sono state dichiarate deprecate. Passerà del tempo prima gli hosting utilizzeranno definitivamente tale versione, ma è bene conoscerle.
PCRE (Perl-Compatible Regular Expressions) si presenta come standard per le espressioni regolari in alternativa all’utilizzo delle storiche POSIX, utile spesso in ambito di sviluppo WEB per sostituire URL, mostrare porzioni di testo ecc.
Ecco la corrispondenza di tutte le vecchie funzioni PHP deprecate e le sostitutive:
PCRE (Perl-Compatible Regular Expressions) si presenta come standard per le espressioni regolari in alternativa all’utilizzo delle storiche POSIX, utile spesso in ambito di sviluppo WEB per sostituire URL, mostrare porzioni di testo ecc.
Ecco la corrispondenza di tutte le vecchie funzioni PHP deprecate e le sostitutive:
POSIX | PCRE | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
ereg_replace() |
preg_replace() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
ereg() |
preg_match() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
eregi_replace() |
preg_replace() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
eregi() |
preg_match() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
split() |
preg_split() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
spliti() |
preg_split() |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
sql_regcase() |
nessuna corrisp. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
POSIX | Perl | ASCII | Descrizione |
---|---|---|---|
[:alnum:] |
[A-Za-z0-9] |
caratteri alfanumerici | |
[:word:] |
\w |
[A-Za-z0-9_] |
caratteri alfanumerici incluso l’underscore “_” (=word) |
\W |
[^\w] |
carattere non-word | |
[:alpha:] |
[A-Za-z] |
carattere alfabetico | |
[:blank:] |
[ \t] |
spazio e tab | |
[:cntrl:] |
[\x00-\x1F\x7F] |
caratteri di controllo | |
[:digit:] |
\d |
[0-9] |
cifre |
\D |
[^\d] |
non-cifre | |
[:graph:] |
[\x21-\x7E] |
caratteri visibili | |
[:lower:] |
[a-z] |
caratteri minuscoli | |
[:print:] |
[\x20-\x7E] |
caratteri visibili e spazi | |
[:punct:] |
[-!"#$%&'()*+,./:;<=>?@[\\\]^_`{|}~] |
caratteri di punteggiatura | |
[:space:] |
\s |
[ \t\r\n\v\f] |
caratteri di spaziatura del testo |
\S |
[^\s] |
caratteri diversi da quelli di spaziatura del testo | |
[:upper:] |
[A-Z] |
lettere maiuscole | |
[:xdigit:] |
[A-Fa-f0-9] |
cifre esadecimali |
Ancora nessun commento