Ir para conteúdo

POWERED BY:

Arquivado

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

formigoni

[Resolvido] Como recortar uma string

Recommended Posts

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

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

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

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

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

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

×

Informação importante

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