(PHP 4, PHP 5)
split — Separa strings em array utilizando expressões regulares
$pattern
, string $string
[, int $limit
] )
Separa uma string
em array por expressão regular.
pattern
A expressão regular case sensitive.
Se separar caracteres que são consideredos especiais para as expressões regulares, será necessário usar o caracter de escape primeiramente. Se você pensar que split() (ou outra função para execução de expressões regulares) é muito estranha, por favor leia o arquivo regex.7, incluido na pasta regex/ no subdiretório da distribuição do PHP. Está no formato manpage e você deverá usar o comando man /usr/local/src/regex/regex.7 para maiores informações.
string
A string de entrada.
limit
Se limit
é definido, o array retornado conterá no
máximo de limit
elementos, sendo que o último
elemento conterá o resto da string
.
Retorna uma matriz de strings, contendo as substrings de
string
separadas pelos limites
descritos na expressão regular pattern
.
Se existirem n ocorrências da
pattern
, será retornado uma matriz (array) contendo
n+1 items. Por exemplo, se
não existir uma ocorrência de pattern
, uma matriz com
um único elemento será retornado. Certamente, isto também é válido se
string
estiver vazia. Se um erro ocorrer,
split() retorna FALSE
.
Exemplo #1 Exemplo da split()
Separa os quatro primeiro elementos de uma linha do arquivo /etc/passwd:
<?php
list($user,$pass,$uid,$gid,$extra) =
split (":", $passwd_line, 5);
?>
Exemplo #2 Exemplo da split()
Separação de dados delimitados por barras, pontos, ou traços:
<?php
// Delimitado por barras, pontos ou traços
$data = "04/30/1973";
list ($mes, $dia, $ano) = split ('[/.-]', $data);
echo "Mês: $mes; Dia: $dia; Ano: $ano<br />\n";
?>
preg_split(), que usa sintaxe de expressão regular compatível com Perl, é normalmente a rápida alternativa para split(). Se você não precisa do poder das expressões regulares, é mais eficiente usar explode(), que não faz overhead como engine de expressão regular.
Para visualizar uma emulação do Perl e seus métodos @chars = split('', $str), veja os exemplos da preg_split().