PHP/Programmazione/Regexp: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Filnik (discussione | contributi)
Nessun oggetto della modifica
Filnik (discussione | contributi)
Nessun oggetto della modifica
Riga 33:
La regex prende tutte le immagini presenti su una pagina di wikipedia, in particolare il suo nome reale (ovvero, senza il "namespace"). La regex deve essere definita in una stringa di testo che inizia e finisce con "/" per far capire al motore che quella è una regex. La funzione preg_match prende il primo valore (la regex), lo confronta col secondo (il testo) e resistuisce la variabile $risultato che noi mostriamo con la funzione print_r.
 
Il risultato resistuisce quello che "prende l'intera regex" e quello che "prende solo la parentesi" (rispettivamente $risultato[0] e $risultato[1]). La prima parentesi non viene "presa" solo perché è stato utilizzato <prett>?:</prett> che indica al motore di togliere il backreference a quella parentesi in particolare.
 
Perché, però, non prende anche image:hello? Perché preg_match prende solo la prima occorrenza, per prenderle tutte bisogna usare preg_match_all: