200 of 410 menu

Funktionen preg_match_all

Funktionen preg_match_all utför en global sökning av ett mönster i en sträng. Den första parametern är reguljära uttrycket, den andra är strängen att söka i, den tredje är arrayen för att lagra resultaten. Den fjärde valfria parametern bestämmer strukturen på returvärdet, och den femte valfria parametern är offset för sökningens start.

Syntax

preg_match_all(pattern, subject, matches, [flags], [offset]);

Flaggor

Låt oss titta på vilka värden den fjärde parametern kan ta:

Parameter Beskrivning
PREG_PATTERN_ORDER Standardläge. Resultaten grupperas efter fickor - nollelementet i arrayen innehåller nollfickorna, det första elementet i arrayen innehåller de första fickorna och så vidare.
PREG_SET_ORDER Resultaten grupperas efter matchningar - varje element i arrayen innehåller en array med de hittade fickorna.
PREG_OFFSET_CAPTURE För varje matchning returneras positionen i strängen. Varje resultat är en array där nollelementet innehåller matchningen, och det första - dess offset.
PREG_UNMATCHED_AS_NULL Icke-matchande fickor returneras som null istället för tomma strängar.

Exempel

Låt oss hitta alla siffror i strängen:

<?php $str = 'abc 123 def 456'; preg_match_all('/\d+/', $str, $res); var_dump($res[0]); ?>

Körresultat:

['123', '456']

Exempel

Låt oss hitta alla bokstäver 'a' i strängen:

<?php $str = 'banana'; preg_match_all('/a/', $str, $res); var_dump($res[0]); ?>

Körresultat:

['a', 'a', 'a']

Exempel

Låt oss extrahera alla tidsstämplar från strängen och deras komponenter:

<?php $time = '12:01:02 13:03:04 14:05:06'; preg_match_all('#(\d\d):(\d\d):(\d\d)#', $time, $res); var_dump($res); ?>

Körresultat:

[ 0 => ['12:01:02', '13:03:04', '14:05:06'], 1 => ['12', '13', '14'], 2 => ['01', '03', '05'], 3 => ['02', '04', '06'] ]

Exempel

Och nu använder vi flaggan PREG_SET_ORDER för att gruppera efter matchningar:

<?php $time = '12:01:02 13:03:04 14:05:06'; preg_match_all('#(\d\d):(\d\d):(\d\d)#', $time, $res, PREG_SET_ORDER); var_dump($res); ?>

Körresultat:

[ 0 => '12:01:02', 1 => '12', 2 => '01', 3 => '02' ], [ 0 => '13:03:04', 1 => '13', 2 => '03', 3 => '04' ], [ 0 => '14:05:06', 1 => '14', 2 => '05', 3 => '06' ]

Se även

  • funktionen preg_match,
    som söker den första matchningen av ett reguljärt uttryck
  • funktionen preg_replace,
    som utför sök och ersätt med ett reguljärt uttryck
Svenska
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi använder kakor för webbplatsens funktion, analys och personalisering. Behandling av data sker i enlighet med Integritetspolicyn.
acceptera alla anpassa avvisa