Funksjonen preg_split

Funksjonen preg_split deler en streng inn i matriseelementer ved å bruke et regulært uttrykk for å søke etter skilletegn. Den tar det regulære uttrykket som første parameter, og kildestrengen som andre parameter. Den tredje valgfrie parameteren angir antall matriseelementer i sluttresultatet. Den fjerde valgfrie parameteren angir flagg som endrer funksjonens oppførsel.

Syntaks

phppreg_split(pattern, subject, [limit], [flags]);

Flagg

Flagg Konstant Beskrivelse
PREG_SPLIT_NO_EMPTY 1 Returnerer kun ikke-tomme deler etter splitting.
PREG_SPLIT_DELIM_CAPTURE 2 Fanger og returnerer deler av treff med delmønstre i det regulære uttrykket.
PREG_SPLIT_OFFSET_CAPTURE 4 Legger til posisjonen for hver returnerte del i kildestrengen.

Eksempel

La oss dele en streng med komma:

php<?php
  $res = preg_split('/,/', 'a,b,c,d,e');
  var_dump($res);
?>

Resultat av kjøring av koden:

php['a', 'b', 'c', 'd', 'e']

Eksempel

La oss dele en streng med alle blanktegn med en grense for antall elementer:

php<?php
  $res = preg_split('/\s+/', '1 2 3 4 5', 3);
  var_dump($res);
?>

Resultat av kjøring av koden:

php['1', '2', '3 4 5']

Eksempel

Bruk av flagget PREG_SPLIT_NO_EMPTY for å ekskludere tomme elementer:

php<?php
  $res = preg_split('/[,\s]/', 'a,b, c, ,d', -1, PREG_SPLIT_NO_EMPTY);
  var_dump($res);
?>

Resultat av kjøring av koden:

php['a', 'b', 'c', 'd']

Se også

  • funksjonen preg_match,
    som utfører søk med regulært uttrykk
  • funksjonen explode,
    som deler en streng med et enkelt skilletegn