Come utilizzare la funzione preg_match_all() in PHP

Come Utilizzare La Funzione Preg Match All In Php



preg_match_all() è una funzione integrata in PHP utilizzata per abbinare il modello specifico in una stringa. È possibile utilizzare questa funzione per eseguire corrispondenze di espressioni regolari ed estrarre dati da stringhe. Può far risparmiare tempo e fatica nei casi in cui è necessario cercare più occorrenze di un pattern ed è ampiamente utilizzato nelle applicazioni di analisi del testo e di estrazione dei dati di PHP.

Sintassi

Di seguito è riportata la sintassi per l'utilizzo di preg_match_all in PHP:







preg_match_all ( modello , ingresso , partite , bandiere , compensare )

IL preg_match_all accetta i seguenti parametri, tre obbligatori e due facoltativi:



  • modello : è il parametro obbligatorio; contiene l'espressione regolare che deve essere cercata.
  • ingresso : Anche il secondo è un parametro obbligatorio, in quanto è la stringa in cui viene eseguita la ricerca.
  • partite : Memorizza l'output nell'array contenente tutte le corrispondenze.
  • bandiere : Descrive come è strutturato l'array di ricerca o corrispondenza. Modifica il comportamento della ricerca di funzione. Possono essere utilizzati i seguenti flag:
  • compensare : è il parametro opzionale che specifica la posizione iniziale della ricerca.
Bandiera Descrizione
PREG_PATTERN_ORDER L'array risultante ha tutte le corrispondenze di un array per ogni elemento dell'espressione regolare.
PREG_SET_ORDER Ciascun elemento dell'array di corrispondenze contiene corrispondenze di ogni raggruppamento per una delle corrispondenze trovate della stringa.
PREG_OFFSET_CAPTURE Restituisce le corrispondenze con le corrispondenti posizioni di offset dei byte nella stringa dell'oggetto.
PREG_UNMATCHED_AS_NULL I pattern senza corrispondenza verranno segnalati come NULL.

Esempio 1

Si consideri il seguente esempio di utilizzo di preg_match_all() funzione in PHP. In questo codice, stiamo cercando la parola Linux nella stringa. Questa funzione emette il numero di corrispondenze trovate rispetto alla parola Linux :





$stringa = 'Ciao appassionati di Linux, benvenuti su LinuxHint!' ;

$modello = '/Linux/' ;

$partite = vettore ( ) ;

preg_match_all ( $modello , $stringa , $partite ) ;

stampa_r ( $partite [ 0 ] ) ;

?>





Esempio 2

In questo codice di esempio, stiamo cercando la parola E nella stringa. La i minuscola viene utilizzata per rendere la ricerca senza distinzione tra maiuscole e minuscole. Restituirà tutte le occorrenze di stringa della parola E o e:



$stringa = 'BENVENUTI NEGLI STATI UNITI.' ;

$modelloRex = '/E/i' ;

$matchTrovato = preg_match_all ( $modelloRex , $stringa , $partite ) ;

Se ( $matchTrovato ) {

eco '
'  ; 

stampa_r ( $partite ) ;

}

?>



Esempio 3

Se il modello che stai cercando non è presente nella stringa, la funzione restituirà false, indicando un errore. Per gestire questo, puoi usare le istruzioni if-else. Se il pattern non viene trovato, puoi stampare un messaggio usando l'istruzione else per informare l'utente che il pattern non è stato trovato.



$stringa = 'PHP è un linguaggio di scripting popolare' ;

$modelloRex = '/fare pipì/' ;

$matchTrovato = preg_match_all ( $modelloRex , $stringa , $partite ) ;

Se ( $matchTrovato ) {

eco '
'  ; 

eco 'Corrispondenza trovata.' ;

stampa_r ( $partite ) ;

} altro {

eco 'Nessuna corrispondenza trovata.' ;

}

?>

Nota : IL

   tag nel codice precedente viene utilizzato per formattare l'output.

Linea di fondo

Le espressioni regolari sono un potente strumento per la ricerca e la manipolazione del testo in PHP. IL preg_match_all() function è una funzione PHP incorporata che viene utilizzata per eseguire una corrispondenza di espressione regolare con una stringa e recuperare tutte le occorrenze del pattern e se il pattern non esiste, restituirà false. Capire il preg_match_all() funzione aiuterà gli utenti a gestire ed elaborare meglio i dati di testo in PHP.