Delimitando Texto PHP [RESOLVIDO]

1. Delimitando Texto PHP [RESOLVIDO]

Valdinei de Souza Campos
valdinei.campos

(usa CentOS)

Enviado em 22/02/2011 - 22:12h

Boa Noite

Necessito separar um texto em php:

xx xxxx-xxxx;Pacote Internet 100 : 14/01/2011 a 13/02/2011;14/01/2011;;;;;0,00;23,91;23,91;;;;Mensalidades e Pacotes Promocionais


o que necessito é no seguinte formato

1 - xx xxxx-xxxx
2 - pacote internet
3 - 14/01/2011
4 - 23,91

tentei usar a funcao explode() mas tem limitação de um unico separador, queria algo que eu podesse dizer onde começa e onde termina a delimitação

alguem pode me ajudar?


  


2. Re: Delimitando Texto PHP [RESOLVIDO]

Willian
ThePinkShark

(usa Slackware)

Enviado em 22/02/2011 - 22:43h

O Sr. quer algo como:
echo "1-blablabla <br> 2-blablabla<br> 3 blablabla<br>";
?


3. veja se isso é o que você quer!

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 23/02/2011 - 00:27h

Bom fiz um testinho rápido e acho que pode ajudar vc, caso esses campos que você quer sempre estejam na mesma posição dentro dessa linha de texto, então você pode usar a função substr, olha o que fiz:

<?php
$conteudo = "xx xxxx-xxxx;Pacote Internet 100 : 14/01/2011 a 13/02/2011;14/01/2011;;;;;0,00;23,91;23,91;;;;Mensalidades e Pacotes Promocionais";
$camp1 = substr($conteudo, 1, 11);
$camp2 = substr($conteudo, 13, 15);
$camp3 = substr($conteudo, 35, 10);
$camp4 = substr($conteudo, 79, 5);
echo $camp1 . "<br />" . $camp2 . "<br />" . $camp3 . "<br />" . $camp4;
?>




Resultado:
x xxxx-xxxx
Pacote Internet
14/01/2011
23,91


4. Re: Delimitando Texto PHP [RESOLVIDO]

Valdinei de Souza Campos
valdinei.campos

(usa CentOS)

Enviado em 23/02/2011 - 08:00h

Esse exemplo até poderia me ajudar, se não fosse os famatos, tenho linhas assim

xx xxxx-xxxx;Pacote Internet 100 : 14/01/2011 a 13/02/2011;14/01/2011;;;;;0,00;23,91;23,91;;;;Mensalidades e Pacotes Promocionais
xx xxxx-xxx;Assinatura : 14/01/2011 a 13/02/2011;14/01/2011;;;;;0,00;3,00;3,00;;;;Mensalidades e Pacotes Promocionais
xx xxxx-xxxx;Gestor Online - Controle Completo : 14/01/2011 a 13/02/2011;14/01/2011;;;;;0,00;4,90;4,90;;;;Mensalidades e Pacotes Promocionais
xx xxxx-xxxx;Serviço Tarifa Zero : 14/01/2011 a 13/02/2011;14/01/2011;;;;;0,00;3,20;3,20;;;;Mensalidades e Pacotes Promocionais


5. Separação de Texto

Silvério Coelho Sepulveda
isilver

(usa CentOS)

Enviado em 23/02/2011 - 08:28h

Amigo, a solução que vejo será fazer rotinas para comparar que tipo de serviço é,
e depois separar o texto, comparar depois do primeiro ; qual a palavra que vem, se for Pacote
faz uma rotina, se for Assinatura outra rotina e assim por diante de acordo com os pacotes que tiver;

Espero ter ajudado.


6. Re: Delimitando Texto PHP [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 23/02/2011 - 09:15h

Existe outra solução também, que eu havia pensado ontem mas tava com preguiça :-)

Podemos usar o delimitador de campos ";" dessas linhas e dividir em vários campos, como as ferramentas de bancos de dados fazem, ai é só o nosso amigo utilizar os campos que precisar!

Agora estou dando uma saidinha, mas tarde faço uns testes e vejamos o resultado.


Abraços


7. Re: Delimitando Texto PHP [RESOLVIDO]

Valdinei de Souza Campos
valdinei.campos

(usa CentOS)

Enviado em 23/02/2011 - 10:16h

Tentei usar o delimitador usando a função explode() porem se eu usar ";" consigo os campos 1,3 e 4 porem o campo 2 fica assim: "Pacote Internet 100 : 14/01/2011 a 13/02/2011"


8. Re: Delimitando Texto PHP [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 23/02/2011 - 10:21h

ok, então aplica a função que eu usei (substr) nesse campo 2, guarda ele numa variável e depois usa na função pegando do primeiro caracter até o 15.

Abraços


9. Re: Delimitando Texto PHP [RESOLVIDO]

Valdinei de Souza Campos
valdinei.campos

(usa CentOS)

Enviado em 23/02/2011 - 10:25h

esse campo 2 é o unico que varia o tamanho dos caracteres, a unica coisa de posso identificar para delimitar ele é o periodo entre ";" e ":" existe alguma funçao que me permita dizer o que quero quebra entre 1 caractere e outro?


10. Re: Delimitando Texto PHP [RESOLVIDO]

Raimundo Alves Portela
rai3mb

(usa Outra)

Enviado em 23/02/2011 - 11:05h

Vou pro trabalho e depois se ainda tivermos esse problema vou fazer alguns testes aqui, por hora acho que o caminho está nessas seguintes funções:

* strpos() - Encontra a posição da primeira ocorrência de uma string
* strripos() - Encontra a posição da última ocorrência de uma string case-insensitive em uma string
* strrchr() - Encontra a ultima ocorrência de um caractere em uma string
* substr() - Retorna uma parte de uma string
* stristr() - strstr sem diferenciar maiúsculas e minúsculas
* strstr() - Encontra a primeira ocorrencia de uma string


Abraços


11. Re: Delimitando Texto PHP [RESOLVIDO]

Valdinei de Souza Campos
valdinei.campos

(usa CentOS)

Enviado em 23/02/2011 - 13:10h

Pessoal desculpe minha ignorancia, porem ainda nao consegui evoluir nessa questao


12. Re: Delimitando Texto PHP [RESOLVIDO]

Valdinei de Souza Campos
valdinei.campos

(usa CentOS)

Enviado em 23/02/2011 - 17:28h

Resolvi da seguinte forma

<?php

$dados = "xx xxxx-xxxx;Pacote Internet 100 : 14/01/2011 a 13/02/2011;14/01/2011;;;;;0,00;23,91;23,91;;;;Mensalidades e Pacotes Promocionais"


$d_dados = explode(";", $dados);

$n_dados = $d_dados[1] ;

$s_dados = explode(":",$n_dados);



echo "<font color='red'>Numero : </font>$d_dados[0]";
echo "<font color= 'red'> Serviço : </font> $s_dados[0]";
echo "<font color='red'>Data: </font>$d_dados[2]";
echo "<font color='red'>Valor Gasto : </font>$d_dados[8]";
echo "<font color='red'>Valor Cobrado : </font>$d_dados[9]<br>";


?>




01 02