MASNathan Posted April 3, 2013 at 10:13 AM Report #501355 Posted April 3, 2013 at 10:13 AM 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.
HappyHippyHippo Posted April 3, 2013 at 10:21 AM Report #501357 Posted April 3, 2013 at 10:21 AM http://www.regular-expressions.info/tutorial.html IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
MASNathan Posted April 3, 2013 at 10:23 AM Author Report #501358 Posted April 3, 2013 at 10:23 AM (edited) obrigado já resolvi. preg_split('/\[(.*?)\]/', 'maria_amelia[11,2]', null, 2); Edited April 3, 2013 at 10:24 AM by MASNathan
pmg Posted April 3, 2013 at 10:29 AM Report #501360 Posted April 3, 2013 at 10:29 AM (edited) 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"; } ?> Edited April 3, 2013 at 10:31 AM by 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!
HappyHippyHippo Posted April 3, 2013 at 10:33 AM Report #501361 Posted April 3, 2013 at 10:33 AM solução sem expressões regulares : sscanf('maria_amelia[11,2]', '%[^\[][%d,%d]') IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
MASNathan Posted April 3, 2013 at 11:02 AM Author Report #501368 Posted April 3, 2013 at 11:02 AM 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
HappyHippyHippo Posted April 3, 2013 at 11:27 AM Report #501371 Posted April 3, 2013 at 11:27 AM $m = preg_split('/\[(.*?)\]$/', $str, null, 2); 4args = explode(',', $m[1]) echo $m[0]; print_r($args); IRC : sim, é algo que ainda existe >> #p@p Portugol Plus
MASNathan Posted April 3, 2013 at 11:45 AM Author Report #501379 Posted April 3, 2013 at 11:45 AM (edited) yup, foi por essa opção que optei, obg... list($function, $params) = preg_split('/\[(.*?)\]/', $rule, null, 2); $tmp[ $function ] = explode(',', $params ); Edited April 3, 2013 at 11:45 AM by MASNathan
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now