Função preg_split
A função preg_split divide uma string em elementos de array, usando uma expressão regular para buscar os delimitadores. O primeiro parâmetro aceita a expressão regular, o segundo - a string original. O terceiro parâmetro opcional define a quantidade de elementos no array no resultado final. O quarto parâmetro opcional define
os flags, que alteram o comportamento da função.
Sintaxe
preg_split(pattern, subject, [limit], [flags]);
Flags
| Flag | Constante | Descrição |
|---|---|---|
PREG_SPLIT_NO_EMPTY |
1 | Retorna apenas as partes não vazias após a divisão. |
PREG_SPLIT_DELIM_CAPTURE |
2 | Captura e retorna as partes da correspondência com subpadrões na expressão regular. |
PREG_SPLIT_OFFSET_CAPTURE |
4 | Para cada parte retornada, adiciona a sua posição na string original. |
Exemplo
Vamos dividir uma string por vírgulas:
<?php
$res = preg_split('/,/', 'a,b,c,d,e');
var_dump($res);
?>
Resultado da execução do código:
['a', 'b', 'c', 'd', 'e']
Exemplo
Vamos dividir uma string por quaisquer caracteres de espaço em branco com limite de quantidade de elementos:
<?php
$res = preg_split('/\s+/', '1 2 3 4 5', 3);
var_dump($res);
?>
Resultado da execução do código:
['1', '2', '3 4 5']
Exemplo
Uso do flag PREG_SPLIT_NO_EMPTY para excluir elementos vazios:
<?php
$res = preg_split('/[,\s]/', 'a,b, c, ,d', -1, PREG_SPLIT_NO_EMPTY);
var_dump($res);
?>
Resultado da execução do código:
['a', 'b', 'c', 'd']
Veja também
-
a função
preg_match,
que executa uma busca por expressão regular -
a função
explode,
que divide uma string por um delimitador simples