Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

MASNathan

[Resolvido] Regex - preg_split

Mensagens Recomendadas

MASNathan

Bom dia a todos,

estou aqui com um problema que não é nada de mais, o que se passa é que eu tenho a seguinte string:

$str = 'maria_amelia[11,2]';

o que eu queria era ficar com o 'maria_amelia' e com o '11,2'.

Cumps,

MASNathan

PS: Já agora se me pudessem dizer onde encontro um tutorial/qualquer cena onde possa ficar mestre em expressões regulares era bacano.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MASNathan

obrigado já resolvi.

preg_split('/\[(.*?)\]/', 'maria_amelia[11,2]', null, 2);

Editado por MASNathan

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
pmg

Isto funcionou para o ideone ... http://ideone.com/ZqP7h7

<?php
$str = 'maria_amelia[11,2]';
if (preg_match_all('/^([^[]+)\\[([0-9]+),([0-9]+)\\]$/', $str, $m) == 1) {
 // echo '<pre>';
 print_r($m);
 // echo '</pre>';
} else {
 echo "Error\n";
}
?>

Editado por pmg

What have you tried?

Não respondo a dúvidas por PM

A minha bola de cristal está para compor; deve ficar pronta para a semana.

Torna os teus tópicos mais atractivos e legíveis usando a tag CODE para colorir o código!

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MASNathan

talvez um aspecto importante que eu me esqueci de mencionar é que o que está entre '[x]' pode ter um numero indeterminado de valores, que podem ser ou não ints

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
HappyHippyHippo
$m = preg_split('/\[(.*?)\]$/', $str, null, 2);
4args = explode(',', $m[1])

echo $m[0];
print_r($args);


IRC : sim, é algo que ainda existe >> #p@p

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
MASNathan

yup, foi por essa opção que optei, obg...

list($function, $params) = preg_split('/\[(.*?)\]/', $rule, null, 2);

$tmp[ $function ] = explode(',', $params );

Editado por MASNathan

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.