PHP/Programmazione/Regexp: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Filnik (discussione | contributi)
Nessun oggetto della modifica
Ramac (discussione | contributi)
m fix
Riga 10:
Questa libreria è un ''porting'' in PHP di un'altra molto utilizzata e diffusa, scritta per [[w:Perl|Perl]]. Essa viene anche chiamata colloquialmente ''preg_match''.
 
=== PrendereOttenere dei dati ===
Vediamo un esempio di come si utilizza una regex in PHP:
 
Riga 73:
Abbiamo quindi due array annidati dentro un altro, pertanto per accedere al primo basterà usare $risultato[0], mentre $risultato[1] per il secondo. Per accedere invece, per esempio, a Ciao.jpg, basterebbe utilizzare $risultato[1][0].
 
=== Sostituire dei dati con degli altri (replace) ===
 
Poniamo per esempio di dover cambiare tutti le stringhe di wikicodice <nowiki>[[Image:x]] con [[Immagine:x]]</nowiki> per ovviare a degli ipotetici problemi tecnici del motore [[w:wiki|wiki]].
 
<source lang=php>
Riga 95:
# Questa regex non è la migliore in quanto il tutto potrebbe essere fatto semplicemente sostituendo "/\[\[[Ii]mage:/" con "[[Immagine". La parte superflua è stata tuttavia inserita ad esclusiva finalità didattica (per spiegare come usare le ''backreference'' correttamente).
 
=== Modificatori ===
{| {{prettytable}}
!Modificatore
!colspan=3|Descrizione
|-
|'''i'''
Riga 116:
|-
|'''A'''
|AncoraÀncora la regex per forza all'inizio del testo.
|-
|'''D'''
Riga 141:
Come si può vedere, il risultato è identico sebbene l'espressione regolare non sia la stessa (notare in particolare la '''i''' dopo l'ultimo slash - / - della regex).
 
=== Particolarità ===
 
Le backreference (quelle di solito identificate come \1 o \\1 in php) possono anche essere richiamate con $1 (sostituendo l'1 al numero desiderato) come si fa in Perl.