preg_match_all() és una funció integrada en PHP que s'utilitza per fer coincidir el patró específic d'una cadena. Podeu utilitzar aquesta funció per realitzar coincidències d'expressions regulars i extreure dades de les cadenes. Pot estalviar temps i esforç en els casos en què necessiteu cercar múltiples ocurrències d'un patró i s'utilitza àmpliament en aplicacions d'anàlisi de text i extracció de dades de PHP.
Sintaxi
La següent és la sintaxi per utilitzar el preg_match_all en PHP:
preg_match_all ( patró , entrada , partits , banderes , compensació )
El preg_match_all accepta els paràmetres següents, tres són obligatoris i dos són opcionals:
- patró : És el paràmetre obligatori; conté l'expressió regular que cal cercar.
- entrada : El segon també és un paràmetre obligatori, ja que és la cadena en què es realitza la cerca.
- partits : Emmagatzema la sortida a la matriu que conté totes les coincidències.
- banderes : Descriu com s'estructura la matriu de cerca o coincidències. Modifica el comportament de la cerca de funció. Es poden utilitzar les banderes següents:
- compensació : És el paràmetre opcional que especifica la posició inicial de la cerca.
Bandera | Descripció |
---|---|
PREG_PATTERN_ORDER | La matriu resultant té totes les coincidències d'una matriu per a cada element de l'expressió regular. |
PREG_SET_ORDER | Tots els elements de la matriu de coincidències contenen coincidències de cada agrupació per a una de les coincidències trobades de la cadena. |
PREG_OFFSET_CAPTURE | Retorna les coincidències amb les seves posicions de desplaçament de bytes corresponents a la cadena de tema. |
PREG_UNMATCHED_AS_NULL | Els patrons no coincidents s'informaran com a NULL. |
Exemple 1
Considereu l'exemple següent d'ús de la preg_match_all() funció en PHP. En aquest codi, estem cercant la paraula Linux a la corda. Aquesta funció mostra el nombre de coincidències trobades amb la paraula Linux :
$cadena = 'Hola entusiastes de Linux, benvinguts a LinuxHint!' ;
$patró = '/Linux/' ;
$ coincidències = matriu ( ) ;
preg_match_all ( $patró , $cadena , $ coincidències ) ;
print_r ( $ coincidències [ 0 ] ) ;
?>
Exemple 2
En aquest codi d'exemple, estem cercant la paraula E a la cadena. La i petita s'utilitza per fer que la cerca no distingeix entre majúscules i minúscules. Tornarà totes les ocurrències de cadena de la paraula E o e:
$cadena = 'BENVINGUTS ALS EUA'. ;
$patternRex = '/E/i' ;
$matchFound = preg_match_all ( $patternRex , $cadena , $ coincidències ) ;
si ( $matchFound ) {
eco '
';
print_r ( $ coincidències ) ;
}
?>
Exemple 3
Si el patró que esteu cercant no està present a la cadena, la funció retornarà false, indicant un error. Per gestionar-ho, podeu utilitzar declaracions if-else. Si no es troba el patró, podeu imprimir un missatge amb la instrucció else per informar l'usuari que no s'ha trobat el patró.
$cadena = 'PHP és un llenguatge de script popular' ;
$patternRex = '/peE/' ;
$matchFound = preg_match_all ( $patróRex , $cadena , $ coincidències ) ;
si ( $matchFound ) {
eco '
';
eco 'Partit trobat'. ;
print_r ( $ coincidències ) ;
} altra cosa {
eco 'No s'ha trobat cap coincidència'. ;
}
?>
Nota : El L'etiqueta del codi anterior s'utilitza per formatar la sortida.
Linia inferior
Les expressions regulars són una eina poderosa per cercar i manipular text en PHP. El preg_match_all() La funció és una funció PHP integrada que s'utilitza per fer una concordança d'expressions regulars amb una cadena i recuperar totes les ocurrències del patró i si el patró no existeix, tornarà fals. Entenent el preg_match_all() La funció ajudarà els usuaris a gestionar i processar millor les dades de text en PHP.