/ //

I qualificatori non golosi - GM Multimedia

Vai ai contenuti

Menu principale:

I quantificatori “non golosi” (ungreedy)

Quasi tutti inciampano prima o poi in questo problema: se utilizzo una espressione del tipo /”.*”/ troverò tutte le parole racchiuse tra doppi apici? Purtroppo no!
Questo perché i quantificatori normali sono “golosi” (in inglese greedy), cioè cercano l’occorrenza il più grande possibile.
Vediamo con un esempio:
				testo = 'class="pluto" id="pippo"';
				preg_match_all('/".*"/', $testo, $ris);
				// Troverà un'unica occorrenza:
				// "pluto" id="pippo"
Come vedete non è il risultato sperato! Come fare quindi?
Basta aggiungere un punto interrogativo alla fine dei nostri quantificatori
				$testo = 'class="pluto" id="pippo"';
				preg_match_all('/".*?"/', $testo, $ris);
				// Ora troverà "pluto" e "pippo" !
Questo vale per qualsiasi quantificatore descritto in precedenza!
Torna ai contenuti | Torna al menu