preg_match_all() ir PHP iebūvēta funkcija, ko izmanto, lai atbilstu konkrētajam virknes modelim. Varat izmantot šo funkciju, lai veiktu regulāro izteiksmju atbilstību un iegūtu datus no virknēm. Tas var ietaupīt laiku un pūles gadījumos, kad jāmeklē vairāki raksta gadījumi, un to plaši izmanto PHP teksta parsēšanas un datu ieguves lietojumprogrammās.
Sintakse
Tālāk ir norādīta sintakse izmantošanai preg_match_all PHP valodā:
preg_match_all ( modelis , ievade , sērkociņi , karogi , kompensēt )
The preg_match_all pieņem šādus parametrus, trīs ir obligāti parametri un divi nav obligāti:
- modelis : tas ir obligāts parametrs; tajā ir regulārā izteiksme, kas jāmeklē.
- ievade : Otrais ir arī obligāts parametrs, jo tā ir virkne, kurā tiek veikta meklēšana.
- sērkociņi : tas saglabā izvadi masīvā, kurā ir visas atbilstības.
- karogi : tas apraksta, kā ir strukturēts meklēšanas vai atbilstības masīvs. Tas maina funkcijas meklēšanas uzvedību. Var izmantot šādus karogus:
- kompensēt : tas ir izvēles parametrs, kas norāda meklēšanas sākuma pozīciju.
Karogs | Apraksts |
---|---|
PREG_PATTERN_ORDER | Iegūtajā masīvā ir visas masīva atbilstības katram regulārās izteiksmes elementam. |
PREG_SET_ORDER | Katrs atbilstības masīva elements satur atbilstības no katras grupas vienai no virknes atrastajām atbilstībām. |
PREG_OFFSET_CAPTURE | Tas atgriež atbilstības ar tām atbilstošajām baitu nobīdes pozīcijām tēmas virknē. |
PREG_UNMATCHED_AS_NULL | Neatbilstošie modeļi tiks rādīti kā NULL. |
1. piemērs
Apsveriet tālāk sniegto piemēru, kā izmantot preg_match_all() funkcija PHP. Šajā kodā mēs meklējam vārdu Linux virknē. Šī funkcija izvada vārdam atrasto atbilstību skaitu Linux :
$string = 'Sveiki Linux entuziasti, laipni lūdzam vietnē LinuxHint!' ;
$raksts = '/Linux/' ;
$sērkociņi = masīvs ( ) ;
preg_match_all ( $raksts , $string , $sērkociņi ) ;
print_r ( $sērkociņi [ 0 ] ) ;
?>
2. piemērs
Šajā koda piemērā mēs virknē meklējam vārdu E. Mazais i tiek izmantots, lai meklēšanas rezultātos nebūtu reģistrjutīga. Tas atgriezīs visus vārda E vai e virknes gadījumus:
$string = 'Laipni lūdzam ASV.' ;
$patternRex = '/E/i' ;
$matchFound = preg_match_all ( $patternRex , $string , $sērkociņi ) ;
ja ( $matchFound ) {
atbalss '
print_r ( $sērkociņi ) ;
}
?>
3. piemērs
Ja virknē meklētā raksta nav, funkcija atgriezīs false, norādot uz kļūdu. Lai to paveiktu, varat izmantot if-else paziņojumus. Ja raksts nav atrasts, varat izdrukāt ziņojumu, izmantojot priekšrakstu else, lai informētu lietotāju, ka raksts nav atrasts.
$string = 'PHP ir populāra skriptu valoda' ;
$patternRex = '/urinēt/' ;
$matchFound = preg_match_all ( $patternRex , $string , $sērkociņi ) ;
ja ( $matchFound ) {
atbalss '
atbalss 'Sakritība atrasta.' ;
print_r ( $sērkociņi ) ;
} cits {
atbalss 'Nav atrasta atbilstība.' ;
}
?>
Piezīme :
Bottom Line
Regulārās izteiksmes ir spēcīgs rīks teksta meklēšanai un manipulēšanai PHP. The preg_match_all() funkcija ir iebūvēta PHP funkcija, kas tiek izmantota, lai veiktu regulārās izteiksmes atbilstību virknei un izgūtu visus parauga gadījumus, un, ja modelis neeksistē, tas atgriezīs false. Izpratne par preg_match_all() funkcija palīdzēs lietotājiem labāk apstrādāt un apstrādāt teksta datus PHP.