Jump to content


Photo

Tratar String Retorno


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

#1 riopardo

riopardo

    Turista

  • Usuários
  • 26 posts
  • Sexo:Não informado

Posted 10/12/2006, 07:39

Recebo string abaixo,
$variavel = "arquivo.zip:(status:ativo,class:zip),arquivo.txt:(status:boqueado,class:txt),arquivo.pdf:(status:ativo,class:pdf)";

Dificuldade em tratar string, atravez de explode (ou outra função PHP), para retorno em uma array:

echo $variavel[0]; //resultado seria: arquivo.zip
echo $variavel[1]; //resultado seria: status:ativo
echo $variavel[2]; //resultado seria: class:ativo

Se algum ajudar, agradeço desde já.

#2 kleryson

kleryson

    Mestre

  • Usuários
  • 687 posts
  • Sexo:Masculino

Posted 10/12/2006, 10:11

Se você usar assim:

$variavel = "arquivo.zip:|status:ativo,class:zip|;arquivo.txt:|status:boqueado,class:txt|;arquivo.pdf:|status:ativo,class:pdf|";

Separando os arquivos por ;

você pode dar um explode no ; assim:

$arquivos=explode(';',$variavel);

depois :

list($nome_arquivo,$info) = explode('|',$arquivo);

e por último:

$dados = explode(',',$info);


Então o código ficaria assim:

<?php
$variavel = "arquivo.zip:|status:ativo,class:zip|;arquivo.txt:|status:boqueado,class:txt|;arquivo.pdf:|status:ativo,class:pdf|";

$arquivos=explode(';',$variavel);

for ($i = 0; $i < sizeof($arquivos); $i++){
	list($nome_arquivo,$info) = explode('|',$arquivos[$i]);
	
	echo $nome_arquivo."<br>";
	
	$dados = explode(',',$info);
	echo $dados[0]."<br>";
	echo $dados[1]."<br>";
}
?>





1 user(s) are reading this topic

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

IPB Skin By Virteq