formigoni 0 Denunciar post Postado Outubro 30, 2009 Olá, como posso "recortar" o conteúdo de uma variável? Por exemplo: // abro o arquivo em leitura $arquivo = '../monitor/replicacao.txt'; $fp = fopen($arquivo,'r'); // leio arquivo $texto = fread($fp, filesize($arquivo)); $separador = '='; $frase = $texto; $partes = explode($separador, $frase); print_r($partes); O resultado desse txt é mostrado assim: Array ( [0] => AQUIDABAN(Regional) [1] => 844 BOM SUCESSO [2] => 22772 BORRAZOPOLIS [3] => 24455 CAMBIRA [4] => 944 Desejaria mostrar isso em uma tabela com duas colunas eliminando o "=" Se puderem me ajudar, vou agradecer. Valeu e fiquem na paz. Compartilhar este post Link para o post Compartilhar em outros sites
Skyo 1 Denunciar post Postado Outubro 30, 2009 Essa função retorna um vetor... Pode-se usar: foreach($partes as $parte) { echo($parte); } ou pegue os dados assim: echo($partes[0]); echo($partes[1]); echo($partes[2]); echo($partes[3]); echo($partes[4]); Compartilhar este post Link para o post Compartilhar em outros sites
formigoni 0 Denunciar post Postado Outubro 30, 2009 Olá Skyo. Fiz como você me disse: foreach($partes as $parte) { echo($parte); } Mas o resultado está saindo assim, sem uma quebra: AQUIDABAN(Regional) 901 BOM SUCESSO 25053 BORRAZOPOLIS 30979 CAMBIRA 1016 CRISTALINA(Regional) 1081 O que preciso é algo assim: AQUIDABAN | 901 BOM SUCESSO | 2503 CAMBIRA | 1016 CRISTALINA | 1081 Valeu e fica na paz. Compartilhar este post Link para o post Compartilhar em outros sites
Skyo 1 Denunciar post Postado Outubro 30, 2009 Basta você formatar, exemplo: <?php $partes = array("teste, 1", "teste, 2", "teste, 3"); foreach($partes as $parte) { $partef = explode(",", $parte); $partef = $partef[0] . " | ". $partef[1]; echo($partef."<br />"); } ?> Isso exibe: teste | 1 teste | 2 teste | 3 Nesse caso o separador entre o nome e o número é a virgula, como não sei como o seu está formatado use como modelo. Compartilhar este post Link para o post Compartilhar em outros sites
João Batista Neto 448 Denunciar post Postado Outubro 31, 2009 O que preciso é algo assim: AQUIDABAN | 901 BOM SUCESSO | 2503 CAMBIRA | 1016 CRISTALINA | 1081 Bom, você pode tentar fazer assim: $str = 'AQUIDABAN(Regional)=844 BOM SUCESSO=22772 BORRAZOPOLIS=24455 CAMBIRA=944'; //Sua string original if ( preg_match_all( '/([^\=]+)\=(\d+)\s?/' , $str , $mtc ) ){ echo '<table>'; for ( $i = 0 , $t = count( $mtc[ 0 ] ) ; $i < $t ; $i++ ){ printf( '<tr><td>%s</td><td>%d</td></tr>' , $mtc[ 1 ][ $i ] , $mtc[ 2 ][ $i ] ); } echo '</table>'; } A saída será: <table> <tr> <td>AQUIDABAN(Regional)</td> <td>844</td> </tr> <tr> <td>BOM SUCESSO</td> <td>22772</td> </tr> <tr> <td>BORRAZOPOLIS</td> <td>24455</td> </tr> <tr> <td>CAMBIRA</td> <td>944</td> </tr> </table> Compartilhar este post Link para o post Compartilhar em outros sites
formigoni 0 Denunciar post Postado Novembro 5, 2009 Olá, bom dia. Obrigado por todas as dicas dadas a respeito deste post, todas me ajudaram muito e infelizmente só pude responder hoje. Mas agradeço muito. Valeu e fiquem na paz. Compartilhar este post Link para o post Compartilhar em outros sites