CĂUTARE SITE

PHP: expresii regulate, funcția preg Match all

PHP, așa cum se presupune în limbajul modernprogramare, oferă dezvoltatorului un set de funcții pentru utilizarea expresiilor regulate. Puteți căuta apariția de șiruri de caractere în alte rânduri prin criterii complexe.

pregătește totul

HTML, CSS, XML și alte fișiere formalizate -sarcinile clasice pentru aplicarea funcției preg match all. Nu mai puțin eficace este căutarea de adrese, nume de familie, numere de telefon, e-mail și alte informații în texte neformalizate.

Format funcțional

PHP oferă două funcții de căutare: preg pregateste meciul si pregati totul. Primul va căuta prima apariție a modelului în linie, a doua - toate aparițiile. Uneori este folosit termenul "potriviți cu un model". În primul caz, rezultatul funcției este "șirul este același ca șablonul", în al doilea caz, "linia se potrivește cu modelul". Formal, termenul "coincidență" reflectă mai exact esența, însă contextul natural al operației este de obicei "căutat" pentru informații. În practică, una și cealaltă sunt în cerere. Mai jos este formatul funcțiilor.

php preg match toate

Rezultatul funcției este numărul, numărul de potriviri. Toate meciurile găsite sunt scrise în matrice - se potrivesc. În cazul funcției preg pregateste tot ce puteți specifica ordinea sortării matricei:

  • PREG_PATTERN_ORDER;
  • PREG_SET_ORDER.

Sortarea după prima opțiune grupează rezultatele căutării după numărul expresiei obișnuite (valoarea implicită). În al doilea caz, rezultatele sunt grupate în funcție de locația lor în linie.

Un simbol este un element șablon

Este important să rețineți că șablonul funcționează cu simboluri. Programarea a uitat mult timp că un astfel de tip de date este un "simbol". Limbile moderne nu cad sub noțiunea de "șir", dar în ceea ce privește șablonul trebuie să înțelegem: aici sunt manipulate simbolurile.

Construcția unui șablon este, în primul rând, o indicație a secvenței de simboluri dorite. Dacă acest lucru este clar înțeles, atunci nu vor exista erori în șablon. În orice caz, va fi mult mai puțin.

  • a este un element specific al șablonului - un simbol.
  • a-z este un element șablon, de asemenea, un caracter, dar numai cu o valoare de la a la z - întreaga latină alfabetică latină.
  • 0-9 este o cifră, iar oricare, dar 1-3 sunt doar 1, 2 sau 3.

Registrul din șablon este important. Primul și ultimul personaj al șablonului au o importanță deosebită. Puteți specifica modul în care șablonul începe și cum se termină.

Template de funcții

Modul PHP preg pregateste toate utilizand sintaxa standard a expresiilor regulate. Parantezele pătrate reprezintă unul dintre caracterele care indică:

  • [abc] numai caracterele a, b, c.
  • [^ ABC] toate cu excepția caracterelor A, B, C.
  • \ w și \ W este un text sau text non-text.
  • \ s și \ S este un spațiu alb sau un caracter non-spațiu.
  • \ d și \ D este o cifră sau nu o cifră.

php preg match toate

Simbolurile de repetiție sunt notate cu paranteze curbate - {n, m} și se referă la caracterul anterior.

  • n înseamnă repetarea "nu mai puțin";
  • m - repetarea "nu mai mult".

Sintaxa oferă multe opțiuni pentru crearea de șabloane, dar este mai bine să începeți cu elementele de bază, adică de la simple, auto-scrise, în care lipsesc elemente complexe și combinații.

Pur și simplu pune, enumerarea caractere reale,care sunt necesare prin specificarea cantităților necesare și luând în considerare faptul că simbolul "^" corespunde începutului, iar "$" este sfârșitul liniei, puteți crea șabloane nepretențioase. Analizând expresii regulate debugate de la specialiști calificați, puteți obține o cunoaștere solidă pentru crearea de aplicații complexe de pregătire a tuturor. Arsenalul PHP nu se limitează la aceste două funcții, dar este cel mai adesea folosit.

Practica simplă

Șablon pentru întreg:

  • "/ [0-9] * /"

De asemenea, un model întreg, dar poate exista un semn ("+", "-") în față și pot exista spații suplimentare în față / în spate:

  • / ^ [\ s | \ + | \ -] {0,1} [0-9] * /

în mod similar:

  • / ^^\s|\|||]]0,1}[0-9]*(\)[0-9]*/ - un număr cu o perioadă.
  • / [0-9a-z_-] + @ [0-9a-z _ ^ \.] + \. [-] [[a-z] [2,3]] este o variantă pentru recunoașterea e-mailului.

Utilizând propriile șabloane pentru pregătirea tuturor, exemplele pe internet, analiza codului de pagini de site-uri și alte surse vă permit să creați propria dvs. bibliotecă de șabloane.

pregătiți toate exemplele

Opțiunile pentru găsirea informațiilor pot fiset. În particular, cele două construcții de mai sus pot fi modelate diferit. În multe cazuri, preferința va fi dată șablonului care va oferi meciul dorit mai rapid și mai precis. Folosirea programului PHP preg Match, precum și funcții similare în alte limbi, necesită practică, atenție și verificare preliminară a corectitudinii șabloanelor.

</ p>
  • Evaluare: