<?php   
/*------------------------------------------------ 
* Notcias On-line 1.1
*      Por Marcos Andr Leo de Moraes Macdo (Foca)
*------------------------------------------------ 
*         foca@reditecnologia.com.br
*      http://www.reditecnologia.com.br
*------------------------------------------------ 

Tipos de Id

1 - Info Exame
2 - Gazeta Mercantil
3 - O Popular
4 - Estadao 

*/  

Class Noticias_Online
      {
	  var $Qtd = 6;
	  var $Mostrar_Tempo = 0;
	  var $Ok;
	  var $Id;

      function Noticias_Online($Id)
          {
		  if ( $Id > 4 ) $this->Error("Banco de Noticias no encontrado...");
		  if ( $this->Mostrar_Tempo ) echo "<h1>Inicio -->".date("H:i:s")."</h1>";
		  $this->Id = $Id;
          if ( $this->Id == 1 ) $Url = "http://www2.uol.com.br/info/index.shl";
          if ( $this->Id == 2 ) $Url = "http://www.investnews.net/default.asp";
          if ( $this->Id == 3 ) $Url = "http://www2.opopular.com.br/index.html";
          if ( $this->Id == 4 ) $Url = "http://www.estadao.com.br/agestado/index.htm";

          $Fp = fopen($Url, "r");
          if ( !$Fp ) $this->Error("Problemas na abertura do site $Url");
          $Dados = fread($Fp, 20000000);
          if ( !$Fp ) $this->Error("Problemas na leitura do site $Url");
          fclose($Fp);
          $this->Filtrar($Dados);
		  }

	  function Mostrar()
	      {
          $Qtd_Ok = Count($this->Ok);
          if ( $Qtd_Ok < $this->Qtd ) $this->Qtd = $Qtd_Ok;
          for ( $i=0; $i<$this->Qtd; $i++)
              {
			  $this->Ok[$i] = trim($this->Ok[$i], "\n");
              echo $this->Ok[$i]."<br>";
              }
		  if ( $this->Mostrar_Tempo ) echo "<h1>Final -->".date("H:i:s")."</h1>";
		  }

      function Filtrar($Dados)
          {
          if ( $this->Id == 1 )
             {
             $Filtrado = eregi_replace(".*<!---News Start\[1\]#NUMBER#6#--->", "", $Dados);
             $Filtrado = eregi_replace("<!---News End\[1\]--->.*", "", $Filtrado);
             $Filtrado = eregi_replace("<!---[ES]#[-0-9]*#mat_plantao#[-#0-9a-z:/.]*#--->", "", $Filtrado);
             $Filtrado = str_replace("\"><font face=\"Verdana\" size=\"2\"", "\" target=\"_Blank\"><font face=\"Verdana\" size=\"2\"", $Filtrado);
	         }
          if ( $this->Id == 2 )
             {
             $Filtrado = eregi_replace(".*<b>ltimas Notcias</b></font></a><br>", "", $Dados);
             $Filtrado = eregi_replace("<td colspan=2><img src=images/fio_dot.gif width=275 height=1>.*", "", $Filtrado);
             $Filtrado = eregi_replace("<tr valign=top>", "", $Filtrado);
			 $Filtrado = eregi_replace("<td bgcolor=EAEEF4>", "", $Filtrado);
			 $Filtrado = eregi_replace("<font face=\"Arial\" size=\"1\" color=\"#16375E\">", "", $Filtrado);
			 $Filtrado = eregi_replace("<font face=\"Arial\" size=\"1\" color=\"#000000\">", "", $Filtrado);
			 $Filtrado = eregi_replace("<a href=\"dredacao/", "<a href=\"http://www.investnews.net/dredacao/", $Filtrado);
			 $Filtrado = eregi_replace("<br>", "", $Filtrado);
			 $Filtrado = eregi_replace("</a>", "</a><br>", $Filtrado);
			 $Filtrado = eregi_replace("<b>", "", $Filtrado);
			 $Filtrado = eregi_replace("</b>", "", $Filtrado);
			 $Filtrado = eregi_replace("</font>", "", $Filtrado);
			 $Filtrado = eregi_replace("</td>", "", $Filtrado);
			 $Filtrado = eregi_replace("<tr>", "", $Filtrado);
			 $Filtrado = eregi_replace("</tr>", "", $Filtrado);
	         }
          if ( $this->Id == 3 )
             {
             $Filtrado = eregi_replace(".*<img src=\"/imagens/t_ultimas2.gif\" border=\"0\" width=\"450\" height=\"16\"></a></td></tr>", "", $Dados);
             $Filtrado = eregi_replace("<a href=\"/ultimas\"><font color=\"#867D62\" size=\"1\">.*", "", $Filtrado);
             $Filtrado = eregi_replace("<tr>", "", $Filtrado);
			 $Filtrado = eregi_replace("<td>", "", $Filtrado);
			 $Filtrado = eregi_replace("<font face=\"Arial, Helvetica, sans-serif\" size=\"3\" color=\"#877D62\">", "", $Filtrado);
			 $Filtrado = eregi_replace("<b>", "", $Filtrado);
			 $Filtrado = eregi_replace("</b>", "", $Filtrado);
			 $Filtrado = eregi_replace("</font>", "", $Filtrado);
			 $Filtrado = eregi_replace("</td>", "", $Filtrado);
			 $Filtrado = eregi_replace("<tr>", "", $Filtrado);
			 $Filtrado = eregi_replace("</tr>", "", $Filtrado);
			 $Filtrado = eregi_replace("<div align=\"right\"><font face=\"Arial, Helvetica, sans-serif\" size=\"2\">", "", $Filtrado);
			 $Filtrado = eregi_replace("<a href=\"../ultimas/", "<a href=\"http://www2.opopular.com.br/ultimas/", $Filtrado);
	         }
          if ( $this->Id == 4 )
             {
             $Filtrado = eregi_replace(".*<!-- INICIO TABELA NOTICIAS -->", "", $Dados);
             $Filtrado = eregi_replace("<!-- FINAL  TABELA NOTICIAS -->.*", "", $Filtrado);
             $Filtrado = eregi_replace("<tr valign=\"top\"><td><font color=\"#606060\" face=\"arial,helvetica\" size=1>", "", $Filtrado);
			 $Filtrado = eregi_replace("<font size=2>", "", $Filtrado);
			 $Filtrado = eregi_replace("</td></tr>", "", $Filtrado);
			 $Filtrado = eregi_replace("</a>", "</a><br>", $Filtrado);
			 $Filtrado = eregi_replace("href='/eleicoes/", "href='http://www.estadao.com.br/eleicoes/", $Filtrado);
			 $Filtrado = eregi_replace("href='/agestado/", "href='http://www.estadao.com.br/agestado/", $Filtrado);
			 $Filtrado = eregi_replace("href='/divirtase/", "href='http://www.estadao.com.br/divirtase/", $Filtrado);
			 $Filtrado = eregi_replace("href='/economia/", "href='http://www.estadao.com.br/economia/", $Filtrado);
			 $Filtrado = eregi_replace("href='/ciencia/", "href='http://www.estadao.com.br/ciencia/", $Filtrado);
	         }
          $this->Ok = explode("<br>", $Filtrado);
          }

      function Error($Erro)
          {
          echo "<table align=\"center\" cellpadding=\"6\" cellspacing=\"0\" border=\"0\">";
          echo "<tr><td>";
          echo "<font color=\"#ff0000\" size=\"+1\">$Erro</font>";
          echo "</td></tr>";
          echo "</table>";
          exit;
          }
      }
?> 


Exemplo para ser usado!!

Exemplo.php

<?
include ("noticias_online.inc.php");
$Not = new Noticias_Online(4);
$Not->Mostrar();
?>
