HĽADANIE STRÁNOK

PHP: regulárne výrazy, funkcia preg match all

PHP, ako to má moderný jazykprogramovanie, ponúka vývojárom súbor funkcií pre používanie regulárnych výrazov. Môžete vyhľadávať výskyty reťazcov v iných riadkoch podľa zložitých kritérií.

pripraviť všetko

HTML, CSS, XML a iné formalizované súbory -klasické úlohy pre aplikáciu funkcie predpredaj všetky. Nemenej efektívne je vyhľadávanie adries, priezvisk, telefónnych čísiel, e-mailov a ďalších informácií v neformalizovaných textoch.

Formát funkcií

PHP ponúka dve funkcie vyhľadávania: pripraviť zápas a pripraviť všetko. Prvý hľadá prvý výskyt vzoru v riadku, druhý - všetky výskyty. Niekedy sa používa pojem "zápas so vzorom". V prvom prípade výsledok funkcie je "reťazec je rovnaký ako vzor", v druhom prípade "riadok zodpovedá vzoru". Formálne výraz "koincidencia" presnejšie odráža podstatu, ale prirodzený kontext operácie zvyčajne "hľadá" informácie. V praxi je jeden a druhý požadovaný. Nižšie je formát funkcií.

php preg zápas všetky

Výsledkom funkcie je číslo, počet zápasov. Všetky nájdené zápasy sú zapísané do poľa - zápasy. V prípade funkcie Pre Match match môžete určiť poradie triedenia poľa:

  • PREG_PATTERN_ORDER;
  • PREG_SET_ORDER.

Triedenie podľa prvej možnosti zoskupuje výsledky vyhľadávania podľa čísla regulárneho výrazu (predvolená hodnota). V druhom prípade sú výsledky zoskupené podľa ich polohy v riadku.

Symbol je prvok šablóny

Je dôležité mať na pamäti, že šablóna funguje so symbolmi. Programovanie už dávno zabudlo, že takýto dátový typ je "symbol". Moderné jazyky nespadajú pod pojem "reťazec", ale vzhľadom na šablónu je potrebné pochopiť, že tu sú manipulované symboly.

Konštrukcia šablóny je v prvom rade indikáciou požadovanej sekvencie symbolov. Ak je to jasné, nebudú v šablóne žiadne chyby. V každom prípade to bude oveľa menej.

  • a je špecifický prvok šablóny - symbol.
  • a-z je prvok šablóny, tiež jeden znak, ale len s hodnotou od a do z - celá latinka v malých písmenách.
  • 0-9 je jedna číslica a všetky, ale 1-3 sú len 1, 2 alebo 3.

Register v šablóne je dôležitý. Prvé a posledné znaky šablóny majú veľký význam. Môžete určiť spôsob spustenia šablóny a jej ukončenie.

Šablóna funkcií

PHP preg match používa štandardnú syntax regulárnych výrazov. Hranaté zátvorky označujú jeden znak, ktorý označuje:

  • [ABC] iba symboly a, b, c.
  • [^ ABC] všetky okrem znakov A, B, C.
  • \ w a \ W je textový alebo netextový znak.
  • \ s a \ S je medzera alebo znak bez medzery.
  • \ d a \ D je číslica alebo nie.

php preg zápas všetky

Symboly opakovania sú označené zaoblenými zátvorkami - {n, m} a odkazujú na predchádzajúci znak.

  • n znamená opakovanie "nie menej ako";
  • m - opakovanie "nie viac".

Syntax poskytuje veľa možností na vytváranie šablón, ale je najlepšie začať s základmi, to znamená z jednoduchých, samopísaných, v ktorých chýbajú zložité prvky a kombinácie.

Jednoducho povedané, zoznam skutočných znakov,potrebné, s uvedením ich požadované množstvo a brať do úvahy, že symbol "^" odpovedá začiatku a "$" - koniec riadku, môžete vytvoriť šablóny nenáročný. Analýza skutočných ladených regulárnych výrazov od kvalifikovaných špecialistov vám umožní získať solídne znalosti pre vytváranie komplexných aplikácií predbežných zmien. PHP arzenál nie je obmedzený len na tieto dve funkcie, ale najčastejšie sa používajú.

Jednoduchá prax

Šablóna pre celé číslo:

  • "/ [0-9] * /

Rovnako celočíselný vzor, ​​ale môže to byť znamienko ("+", "-") vpredu a tam môžu byť ďalšie medzery vpredu / za sebou:

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

podobne:

  • /^[\s|\+|\-]{0,1}[0-9]*(\.)[0-9]*/ - číslo bodu.
  • / [0-9a-z_-] + @ [0-9a-z _ ^ \.] + \. [A-z] [2,3] / - variant na rozpoznávanie e-mailov.

Použitie vlastných šablón pre prípravu všetkých zápasov, ich príklady na internete, analýza kódu stránok stránok a iných zdrojov vám umožnia vytvoriť si vlastnú knižnicu šablón.

pripravte všetky príklady

Možnosti vyhľadávania informácií môžu byťnastavený. Konkrétne vyššie uvedené dve konštrukcie môžu byť modelované inak. V mnohých prípadoch sa uprednostňuje šablóna, ktorá poskytne požadovaný zápas rýchlejšie a presnejšie. Použitie predpripravených PHP, rovnako ako podobných funkcií v iných jazykoch, si vyžaduje prax, pozornosť a predbežné overenie správnosti šablón.

</ p>
  • vyhodnotenia: