PHP, kā jau modernai programmēšanas valodai pienākas, piedāvā izstrādātājam funkciju kopumu regulāro izteiksmju lietošanai. Varat meklēt virknes sastopamības citās virknēs, izmantojot sarežģītus kritērijus.
- PREG_PATTERN_ORDER;
- PREG_SET_ORDER.
Kārtot pēc 1. iespējas, meklēšanas rezultāti tiek grupēti pēc regulārās izteiksmes numura (noklusējuma). Otrajā gadījumā rezultāti tiek grupēti pēc to atrašanās vietas rindā.
Simbols - veidnes elementsIr svarīgi atcerēties, ka veidne darbojas ar simboliem. Programmēšana jau sen ir aizmirsusi, kas ir "rakstzīmju" datu tips. Mūsdienu valodas nav zemākas par "virknes" jēdzienu, bet attiecībā uz modeli jums ir jāsaprot: šeit tiek manipulēti ar simboliem.
Veidnes izveidošana, pirmkārt, ir vajadzīgās rakstzīmju secības noteikšana. Ja jūs to skaidri saprotat, tad veidnē nebūs kļūdu. Jebkurā gadījumā tas būs daudz mazāk.
- a ir konkrēts veidnes elements – simbols.
- a-z ir veidnes elements, arī viena rakstzīme, bet tikai ar vērtību no a līdz z - viss latīņu valodā ar mazajiem burtiem.
- 0-9 ir viens skaitlis, jebkurš skaitlis, bet 1-3 ir tikai 1, 2 vai 3.
Liela nozīme ir gadījumam modelī. Pirmā un pēdējā rakstzīmes ir nozīmīgas. Varat norādīt, kur veidne sākas un beidzas.
Funkciju veidnePHP preg match all izmanto standarta regulārās izteiksmes sintaksi. norāda vienu no tajos norādītajiem simboliem:
- tikai rakstzīmes a, b, c.
- [^ABC] viss, izņemot rakstzīmes A, B, C.
- \w un \W — teksta vai bezteksta rakstzīme.
- \s un \S — atstarpes vai bezatstarpes rakstzīme.
- \d un \D — cipars vai bezcipara.
Atkārtotās rakstzīmes ir apzīmētas ar krokainajām figūriekavām — (n,m) un attiecas uz iepriekšējo rakstzīmi.
- n apzīmē "ne mazāk kā" atkārtošanos;
- m - atkārtojums "ne vairāk".
Sintakse nodrošina daudzas veidņu izveides iespējas, taču vislabāk ir sākt ar pamatiem, tas ir, ar vienkāršām veidnēm, kas rakstītas ar savu roku un kurās nav sarežģītu elementu un kombināciju.
Vienkārši sakot, uzskaitot īstās nepieciešamās rakstzīmes, norādot to nepieciešamo daudzumu un ņemot vērā, ka “^” rakstzīme atbilst rindas sākumam, bet “$” – rindas beigām, var izveidot vienkāršas veidnes. Analizējot reālas, labi atkļūdotas regulārās izteiksmes no kvalificētiem ekspertiem, varat iegūt pamatīgas zināšanas, lai izveidotu sarežģītas preg match all lietojumprogrammas. PHP arsenāls neaprobežojas tikai ar šīm divām funkcijām, bet tās ir visizplatītākās.
Vienkārša prakseVeselu skaitļu raksts:
- "/*/"
Arī veselu skaitļu raksts, bet priekšā var būt zīme ("+", "-"), un var būt papildu atstarpes priekšā/aiz:
- /^[\s|\+|\-](0,1)*/
Tāpat:
- /^[\s|\+|\-](0,1)*(\.)*/ - skaitlis ar punktu.
- /+@+\.(2,3)/ - iespēja e-pasta atpazīšanai.
Izmantojot savas veidnes preg match all, to piemērus internetā, vietņu lapu kodu un citu avotu analīze ļauj izveidot savu veidņu bibliotēku.
Informācijas atrašanai ir daudz iespēju. Konkrēti, pēdējās divas iepriekš minētās konstrukcijas var modelēt atšķirīgi. Daudzos gadījumos priekšroka tiks dota veidnei, kas nodrošina vēlamo atbilstību ātrāk un precīzāk. Preg match all izmantošana PHP, kā arī līdzīgas funkcijas citās valodās prasa praksi, uzmanību un iepriekšēju veidņu pareizības pārbaudi.
int preg_match_all (virknes raksts, virknes priekšmets, masīvs &atbilst [, int karodziņi [, int nobīde]])Virknes priekšmetā meklē visas raksta modeļa atbilstības un ievieto rezultātu atbilstības masīvā secībā, ko nosaka karogu kombinācija.
Pēc pirmās atbilstības atrašanas turpmākie meklējumi tiks veikti nevis no virknes sākuma, bet gan no pēdējā atrastā gadījuma beigām.
Papildu karogu parametrs var apvienot šādas vērtības (ņemiet vērā, ka PREG_PATTERN_ORDER izmantošana vienlaikus ar PREG_SET_ORDER ir bezjēdzīga):
PREG_PATTERN_ORDER
Ja šis karodziņš ir iestatīts, rezultāts tiks sakārtots šādi: elements $matches satur modeļa pilnīgu gadījumu masīvu, elements $matches satur pirmā apakšparauga gadījumu masīvu un tā tālāk.
Atgriež atrastā modeļa gadījumu skaitu (var būt nulle) vai FALSE, ja izpildes laikā radās kļūda.
2. piemērs. Mantkārīga HTML tagu saskaņošana |