First: it is interesting to remove line breaks (as it is replaced by two consecutive points we will use this in our favor).
Second: let’s use the explode to separate our array where the line breaks are, generating an array with the three parts, which is this way:
Array
(
[0] => > A sua viagem Ref. reserva: 5SPGW9 Check My Trip Data de emissão: 06 Novembro 2015
[1] => Viajante Mrs Ana Paula Monteiro Malfati Agência INTERCAMBIO OPERADORA DE PROGRAMAS EDUC Rua Dos Tres Irmaos, 625 Vila Progredior Cep:05615-190 SAO PAULO Telefone (11) 3149-8199 Fax (11) 3149-8199 E-mail [email protected]
[2] => Sexta-feira 29 Janeiro 2016
)
Third: We use a strpos to remove part of the sentence, with the beginning starting from the 3 character (removing unwanted characters) to the word 'Trip''.
Fourth: we use strpos + substring again to remove only the text from the date of issue.
Fifth: we captured the message that is on the second line of the explode array that we made.
Sixth: we captured the date at the end of the exploded array we made.
Seventh: we show the data.
<?php
// Texto completo
$texto = "> A sua viagem Ref. reserva: 5SPGW9 Check My Trip
Data de emissão: 06 Novembro 2015
.
.
Viajante Mrs Ana Paula Monteiro Malfati Agência INTERCAMBIO OPERADORA DE PROGRAMAS EDUC
Rua Dos Tres Irmaos, 625
Vila Progredior Cep:05615-190
SAO PAULO
Telefone (11) 3149-8199
Fax (11) 3149-8199
E-mail [email protected]
.
.
Sexta-feira 29 Janeiro 2016 ";
// Texto recebido sem quebras de linha
$string = preg_replace('/\s\s+/', ' ', $texto);
// Separa o texto em três partes
$ex = explode(" . . ", $string);
// Utilizamos o strpos para capturar do terceiro caractere (ou seja eliminamos o espaço o sinal de maior e mais um espaço do início) até a palavra Trip. Assim capturamos o idReserva
$str_pos2 = strpos($ex[0], ' Data de emissão:');
$txt_idReserva = substr($ex[0], 2, $str_pos2 -1);
// Utilizamos o strpos para capturar o que vem depois da palavra 'Trip' + espaço. Ou seja capturamos a data de emissão
$str_pos = strpos($ex[0], 'Trip ');
$txt_dtEmissao = substr($ex[0], $str_pos + strlen('Trip '), strlen($ex[0]));
// Pegamos a mensagem
$txt_msg = $ex[1];
// Pegamos a data
$txt_dt = $ex[2];
echo "$txt_idReserva" . "<br>" . $txt_dtEmissao . "<br>". $txt_msg . "<br>" . $txt_dt;
The code above will print:
A sua viagem Ref. reserva: 5SPGW9 Check My Trip
Data de emissão: 06 Novembro 2015
Viajante Mrs Ana Paula Monteiro Malfati Agência INTERCAMBIO OPERADORA DE PROGRAMAS EDUC Rua Dos Tres Irmaos, 625 Vila Progredior Cep:05615-190 SAO PAULO Telefone (11) 3149-8199 Fax (11) 3149-8199 E-mail [email protected]
Sexta-feira 29 Janeiro 2016
You can use explode or other string functions to separate the third part of the text (I called the variable $txt_msg
) which is the message containing passenger data.
the problem is that this text comes in this format, so I need to treat it this way. And the line break from it comes as "."
– Michel Henriq
Why I won -1 ?
– Gabriel Rodrigues
it wasn’t me beast..
– Michel Henriq