Jump to content


Photo

Ler Apenas Parte Do Arquivo


  • Faça o login para participar
5 replies to this topic

#1 agito

agito

    Turista

  • Usuários
  • 53 posts
  • Sexo:Não informado
  • Localidade:Patrocinio-mg
  • Interesses:msn luiztarabal@agitopatrocinio.com.br

Posted 09/05/2007, 21:51

Galera, preciso pegar as informaçoes de um site e colocar em outro, ta dificil fazer

estou usando tipo

$handle = fopen ("url", "r");
while (!feof ($handle)) {
$buffer = fgets($handle, 4096);
echo $buffer;
}

Porem ele le e aparece todo o codigo, gostaria de ler e pegar o codigo apenas que estive-se entre uma tag html especificada, tipo

ler tudo o que tivesse dentro de

<hr>
DADOS
</hr>

Retornando

DADOS

Tem como fazer isso?

agradeço a atençao de todos

#2 Paulo Freitas

Paulo Freitas

    ××××××× LRU #456504 ××××××× ××××××× LRM #364686 ×××××××

  • Ex-Admins
  • 5612 posts
  • Sexo:Masculino
  • Localidade:Campinas - SP

Posted 09/05/2007, 22:13

Bem, embora seja possível fazer isto de mais de uma maneira, acredito que utilizar expressões regulares seja muito mais fácil e viável, inclusive. Para isto poderíamos utilizar a função preg_match_all(). Na própria página da função no manual oficial há exemplos de como capturar valores de tags (X)HTML. ;-)

[]’s :DAté mais

#3 agito

agito

    Turista

  • Usuários
  • 53 posts
  • Sexo:Não informado
  • Localidade:Patrocinio-mg
  • Interesses:msn luiztarabal@agitopatrocinio.com.br

Posted 09/05/2007, 23:03

Ola amigo, Creio que eu nao expliquei direito, vamos la novamente

Na verdade eu quero poder retirar o conteudo de um arquivo html,


tipo quero pegar o codigo entre TAL LUGAR, ATE TAL LUGAR, retirando assim as frases que me interessam nesse arquivo, na verdade nao é necessariamente de uma tag html, ate outra tag html, pode ser de uma frase, tipo

um codigo assim

<div class="corpo">
  Total de Pessoa(s) com o nome pesquisado: <b>1</b>

  <br>
  Total de Processo(s) com o nome pesquisado:<b> 7</b>
  
</div> 

<hr>
<table width="100%" class="tabela_formulario">
  <tr> 
	<td width="35%" nowrap align="left"> 
	  <b>JOSÉ MACHADO NETO </b>
	</td>

	<td width="65%" align="right"> 
	  <b>N&uacute;mero:</b> 12789
	</td>


Digamos que eu quero todo o conteudo entre

Total de Pessoa(s) com o nome pesquisado:

Ate N&uacute;mero

Por exemplo...

ai a saida seria:

<b>1</b>

  <br>
  Total de Processo(s) com o nome pesquisado:<b> 7</b>
  
</div> 

<hr>
<table width="100%" class="tabela_formulario">
  <tr> 
	<td width="35%" nowrap align="left"> 
	  <b>JOSÉ MACHADO NETO </b>
	</td>

	<td width="65%" align="right"> 
	  <b>

deu pra entender brother?

#4 JoinTek

JoinTek

    24 Horas

  • Usuários
  • 454 posts
  • Sexo:Masculino
  • Localidade:Santarém, PA

Posted 10/05/2007, 00:15

Preg_Match() seria uma boa ;D

Edição feita por: JoinTek, 10/05/2007, 00:38.


#5 agito

agito

    Turista

  • Usuários
  • 53 posts
  • Sexo:Não informado
  • Localidade:Patrocinio-mg
  • Interesses:msn luiztarabal@agitopatrocinio.com.br

Posted 10/05/2007, 01:36

codigo correto pra quem precisar

<?
$tag_inicio = '<table width="100%" class="tabela_formulario">';

$tag_fim = '<br>
<div align="left" class="corpo">';


$handle = fopen("arquivoseu","r"); // troca o arquivo que vai ler
while (!feof($handle)) {
$buffer .= fgets($handle,128);
}
$boom2 = explode($tag_fim,$buffer);
$boom1 = explode($tag_inicio,str_replace($boom2[1],"",$buffer));

echo $boom1[1];
?>

#6 ciclone

ciclone

    Novato no fórum

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

Posted 10/05/2007, 03:42

Pena que cheguei atrazado, mas mesmo assim vai ai minha contribuição.

<?
//
$a = "<html><teste><h4>pegar os dados que estão aqui</h4></teste><html>";
//
$a = explode("<h4>", $a);
$a = explode("</h4>", $a[1]);
$a = $a[0];
//
echo $a;
//
?>




0 user(s) are reading this topic

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

IPB Skin By Virteq