Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Bruno Conte

Uso de Expressão Regulares

Recommended Posts

E possivel, atraves de expressões regulares gravar em um texto apenas o que me interessa.

por exemplo, gravo no meu banco os dados complementares da nfe e gostaria de tirar 2 numeros desses complementos e gravar cada um em um campo do bd.

 

exemplo do texto:

 

Pedido: 291666 Nr. O.C.: 0213385

 

onde tenho o campo pedido e queria gravar o numero: 291666 e o Nr. OC: 0213385

Tem alguma maneira de separar esses textos por 2 numeros???

 

Eu pensei em expressão regulares, mais nao sei como fazer desta maneira, ja usei expressão para reconher um numero so e ler so ele, agora como preciso separar 2 nao sei.

 

att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Existem inúmeras maneiras, nesse seu caso em específico, eu utilizaria da seguinte maneira:

$string = 'Pedido: 291666 Nr. O.C.: 0213385';
preg_match_all( '/\d+/' , $string , $match);
var_dump($match);

 

A saída seria:

array(1) { 
  [0]=> array(2) { 
     [0]=> string(6) "291666" 
     [1]=> string(7) "0213385" 
  } 
}

Basta tratar a matriz.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Eu sugiro, então, que leia mais sobre arrays e entenda como usá-los por acessar seus índices.

 

É tudo que você precisa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Vetor - Array unidimensional

Matriz - Array multidimensional

 

Matematicamente é um pouco diferente da programação, pois se a Matriz for 1 x N (1 linha por N colunas), como no resultado acima, continua sendo um vetor.

 

Já na programação, a saída ai de cima é uma matriz por possuir distinção de linhas através do índice, que no nosso caso é 0(zero)

Compartilhar este post


Link para o post
Compartilhar em outros sites

consegui aqui.

Coisa bem simples e eu apanhando.

 

$pedido = $match[0][0];

 

e ele me mostrou o que queria.

eu estava me confundindo pelo fato de pensar pelo lado matematico.

 

att.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.