200 of 410 menu

Funksie preg_match_all

Die funksie preg_match_all voer 'n globale soektog na 'n patroon in 'n string uit. Die eerste parameter is die gereelde uitdrukking, die tweede is die string om in te soek, die derde is die skikking om resultate in te stoor. Die vierde opsionele parameter bepaal die tipe teruggekeerde struktuur, en die vyfde opsionele parameter is die verskuiwing van die begin van die soektog.

Sintaksis

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

Vlaggies

Kom ons kyk watter waardes die vierde parameter kan aanneem:

Parameter Beskrywing
PREG_PATTERN_ORDER Verstek modus. Resultate word volgens sakke gegroepeer - die nul element van die skikking bevat nul sakke, die eerste element van die skikking bevat eerste sakke en so meer.
PREG_SET_ORDER Resultate word volgens ooreenkomste gegroepeer - elke element van die skikking bevat 'n skikking met die gevinde sakke.
PREG_OFFSET_CAPTURE Vir elke ooreenkoms word die posisie in die string teruggegee. Elke resultaat is 'n skikking waar die nul element die ooreenkoms bevat, en die eerste - sy verskuiwing.
PREG_UNMATCHED_AS_NULL Nie-gevinde sakke word as null teruggegee in plaas van leë snare.

Voorbeeld

Kom ons vind alle syfers in die string:

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

Resultaat van die kode-uitvoering:

['123', '456']

Voorbeeld

Kom ons vind alle letters 'a' in die string:

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

Resultaat van die kode-uitvoering:

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

Voorbeeld

Kom ons haal alle tydmerke uit die string en hul komponente:

<?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); ?>

Resultaat van die kode-uitvoering:

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

Voorbeeld

En nou gebruik ons die vlaggie PREG_SET_ORDER vir groepering volgens ooreenkomste:

<?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); ?>

Resultaat van die kode-uitvoering:

[ 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' ]

Sien ook

  • die funksie preg_match,
    wat die eerste ooreenkoms met 'n gereelde uitdrukking soek
  • die funksie preg_replace,
    wat soek en vervang volgens 'n gereelde uitdrukking doen
Afrikaans
AzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Ons gebruik koekies vir die werking van die webwerf, ontleding en personalisering. Die verwerking van data geskied volgens die Privaatheidsbeleid.
aanvaar alles instel verwerp