num 10 - UnderAttHack
num 10 - UnderAttHack
num 10 - UnderAttHack
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
PIACCAPPI<br />
n.<strong>10</strong><br />
Ostello per RegExp<br />
Un po’ tutti conoscono il php, fatto sta che negli anni questo linguaggio di programmazione utilizzato dalla<br />
maggior parte per creare siti web dinamici, si è diffuso in modo capillare, e chiunque ha avuto a che fare col<br />
web, sicuramente, anche senza accorgersene ha toccato una pagina php. Siccome si ha spesso a che fare con<br />
validazione di dati immessi dall’utente è ovvio che una regexp può esserci più che d’aiuto!<br />
Php supporta le regexp nativamente, nella libreria standard contiene già moltisimme funzioni che lavorano con le<br />
nostre espressioni regolari. Come fatto prima controlliamo i nostri due metodi principali per adoperare le regexp:<br />
Un semplice match in php ha l seguente sintassi:<br />
<br />
Il primo parametro, pattern di ricerca (ovvero la regexp), va passato come stringa grezza tra backslash.<br />
Il secondo parametro è il target ovvero stringa bersaglio.<br />
Il terzo è l’array dove la nostra funzione caricherà tutti i match ottenuti.<br />
Tornando al nostro esempio di prima:<br />
<br />
Comunque sia è meglio precisare che preg_match() trova solo la prima occorrenza, per farti restituire tutte le<br />
occorrenze dovete usare, con la stessa sintassi e parametri, la funzione: preg_match_all().<br />
La sostituzione mediante regexp in php? Niente di più semplice:<br />
preg_replace(%REGEXP%,%REPLACE%,%TARGET%);<br />
niente di più semplice, rifacciamo per l’ennesima volta l’esempio che tanto amiamo:<br />
<br />
notare che preg_replace viene fatto precedere da $string, ovvero la stringa bersaglio, questo perchè il preg_<br />
replace non è un metodo “distruttivo”, ovvero non agisce sulla stringa originale, restituisce solo la stringa target<br />
con la sostituzione effettuata, sta a noi decidere se distruggere l’originale riassegnandovi la post-sub, oppure<br />
stamparla semplicemente, oppure ancora immagazinare il risultato in un altra stringa.<br />
http://underatthack.org 23<br />
underatthack@gmail.com