Funktionen preg_split

Funktionen preg_split opdeler en streng i array-elementer ved at bruge et regulært udtryk til at finde separatorene. Den tager det regulære udtryk som første parameter og kildestrengen som anden parameter. Den tredje valgfrie parameter angiver antallet af array-elementer i det endelige resultat. Den fjerde valgfrie parameter angiver flag, der ændrer funktionens opførsel.

Syntaks

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

Flag

Flag Konstant Beskrivelse
PREG_SPLIT_NO_EMPTY 1 Returnerer kun ikke-tomme dele efter opdeling.
PREG_SPLIT_DELIM_CAPTURE 2 Fanger og returnerer dele af matchet med undermønstre i det regulære udtryk.
PREG_SPLIT_OFFSET_CAPTURE 4 Tilføjer for hver returneret del dens position i kildestrengen.

Eksempel

Lad os opdele en streng ved kommaer:

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

Resultat af kodeudførelse:

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

Eksempel

Lad os opdele en streng ved alle whitespace-tegn med en begrænsning på antallet af elementer:

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

Resultat af kodeudførelse:

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

Eksempel

Brug af flaget PREG_SPLIT_NO_EMPTY for at udelukke tomme elementer:

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

Resultat af kodeudførelse:

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

Se også

  • funktionen preg_match,
    som udfører søgning med regulært udtryk
  • funktionen explode,
    som opdeler en streng ved en simpel separator