Jump to content


Photo

Expressão regular não funciona


  • Faça o login para participar
1 reply to this topic

#1 shogun89

shogun89

    Normal

  • Usuários
  • 91 posts
  • Sexo:Masculino
  • Localidade:marilia

Posted 02/03/2015, 03:30

Estou tentando alterar o valor após o último "@" de um código, mas não estou conseguindo!

O Código que estou a usar é:

$valor = "0]SK@84853663@323512475@NB*8~5*0*-1*0*0"; //valor original

$valor2 = "@NB*1~1*0*-1*0*0"; //valor pra ser alterado

$repl = preg_replace('/NB\*(\d+)\~(\d+)\*(\d+)\*(\w+)\*(\d+)\*(\d+)/', $valor2, $valor);

echo $repl;

Atente que quero manter o código de "valor" exatamente igual, e apenas alterar os valores que estão após o último arroba, mas meu regex não funciona, ele não altera o valor. 

o que estou fazendo de errado?

 


#2 Danilomaru

Danilomaru

    Ativo

  • Moderadores
  • 300 posts
  • Sexo:Masculino
  • Localidade:brasil

Posted 03/03/2015, 02:57

eu acho que isso pode ajudar

$padrao = "/@(?!.*@)(.*)/";
$valorAtual = "0]SK@84853663@323512475@NB*8~5*0*-1*0*0";
$valorParaSubstituir = "@NB*1~1*0*-1*0*0";
$resultado = preg_replace($padrao, $valorNovo, $valorAtual);

esse link pode ajudar com essas duvidas: http://www.piazinho.com.br/






0 user(s) are reading this topic

0 membro(s), 0 visitante(s) e 0 membros anônimo(s)

IPB Skin By Virteq