Foros del Web » Programando para Internet » PHP »

Noticias en mi página

Estas en el tema de Noticias en mi página en el foro de PHP en Foros del Web. Hola He realizado una página web (no nuke ni nada parecido) con php/mysql y me ha quedado bastante bonita y completa. Sin embargo quisiera que ...
  #1 (permalink)  
Antiguo 04/03/2005, 12:25
 
Fecha de Ingreso: agosto-2003
Mensajes: 174
Antigüedad: 20 años, 8 meses
Puntos: 3
Noticias en mi página

Hola
He realizado una página web (no nuke ni nada parecido) con php/mysql y me ha quedado bastante bonita y completa.

Sin embargo quisiera que aparecieran noticias actualizadas relativas a la informática (en concreto sobre internet, networking y seguridad).

Yo se que hay módulos nuke que hacen estas cosas, pero yo quiero añadir algún servicio de este tipo a mi web que ni es nuke ni nada por el estilo. Además me preocupa que sea una fuente seria y que no me meta publicidad extraña (no hablemos ya de porno).

¿Sabeis algo de esto? ¿Donde puedo buscar? ¿Como se llaman estos servicios para buscar en google (porque no he sido capaz de encontrar nada y obviamente no es porque no haya, sino porque busco mal).

Un saludo
  #2 (permalink)  
Antiguo 04/03/2005, 13:43
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
Son servicios de noticias RSS, se supone que dinámicamente te saca la información y la mete en una plantilla de tu web, usando PHP y XML. Por ejemplo

http://www.ladodos.com/webtotal

Checa bien en http://www.zonaphp.com para que cheques mas al respecto.
  #3 (permalink)  
Antiguo 10/03/2005, 04:14
 
Fecha de Ingreso: agosto-2003
Mensajes: 174
Antigüedad: 20 años, 8 meses
Puntos: 3
Bien, lo que dices es exactamente lo que yo quería, pero ahora me salen las siguientes dudas:

a) al mirar como puedo acceder a esas noticias, se me facilita un archivo que permite traer esas noticias a mi web y se me dice 'solo debes incluir este archivo en tu web'. Eso suena muy bien, pero no veo como hacer para que esas noticias llegen debidamente tabuladas a mi web.

b) He visto que hay muchos servicios de este tipo, pero muchos de ellos son noticias copiadas de otros sitios, muchas veces están mal redactadas, a veces incompletas y a menudo con errores de ortografía de espanto. Me pregunto donde puedo encontrar noticias frescas sobre internet, seguridad, programación, ...sin que parezca que copio cosas de otros o que no he aprendido a escribir las cosas con H.

Un saludo
  #4 (permalink)  
Antiguo 10/03/2005, 09:03
Avatar de yuguilley  
Fecha de Ingreso: febrero-2004
Ubicación: Montenegro Quindío
Mensajes: 108
Antigüedad: 20 años, 2 meses
Puntos: 0
Prueba este codigo si te sirve

crea una carpeta ej. include/titulares.php

luego crea un archivo llamado titulares.php y pega este codigo

y confira la siguiente linea con tu proveedor de noticias XMl o Rss

------------------------------------------------------
$fp = fopen("http://www.ibs.org/dm/syndicate/rss/niv.xml", "r");
if(!$fp) {
die("<p>Cannot open RSS feed.</p>");
--------------------------------------------------

<?php

// array to convert XML entities into text
$xmlreplace = array(
'&amp;' => '&',
'&lt;' => '<',
'&gt;' => '>',
'&apos;' => '\'',
'&quot;' => '"',
);

// opening element handler
function startElement($parser, $name, $attrs) {

global $cdata, $item, $curTag, $a;

$curTag .= "$name|";

$cdata = "";

if($curTag == "RSS|CHANNEL|ITEM|") {
$a++;
}
}

//closing element handler
function endElement($parser, $name) {
// Notice that we call the same global variables here
// that we called in the opening tag function, save $feed:
global $cdata, $feed, $item, $curTag, $a;


switch($curTag) {
case "RSS|CHANNEL|TITLE|":
$feed['title'] = $cdata;
break;
case "RSS|CHANNEL|LINK|":
$feed['link'] = $cdata;
break;
case "RSS|CHANNEL|DESCRIPTION|":
$feed['description'] = $cdata;
break;
case "RSS|CHANNEL|PUBDATE|":
$feed['pubdate'] = $cdata;
break;
case "RSS|CHANNEL|IMAGE|URL|":
$feed['image'] = $cdata;
break;
case "RSS|CHANNEL|IMAGE|WIDTH|":
$feed['img_width'] = $cdata;
break;
case "RSS|CHANNEL|IMAGE|HEIGHT|":
$feed['img_height'] = $cdata;
break;
case "RSS|CHANNEL|ITEM|TITLE|":
$item[$a]['title'] = $cdata;
break;
case "RSS|CHANNEL|ITEM|CATEGORY|":
$item[$a]['category'] = $cdata;
break;
case "RSS|CHANNEL|ITEM|LINK|":
$item[$a]['link'] = $cdata;
break;
case "RSS|CHANNEL|ITEM|DESCRIPTION|":
$item[$a]['description'] = $cdata;
}

$temp = explode("|", $curTag);
$temp2 = array_pop($temp);
$temp2 = array_pop($temp);
$curTag = implode("|", $temp);
$curTag .= "|";
}

function characterData($parser, $data) {
global $cdata, $xmlreplace;
$cdata .= strtr($data, $xmlreplace);
}
/*
OK, with the XML handler functions out of the way, we're now ready to parse the RSS feed.
First, we need to get the RSS feed from WAGM's Web site, which we do with fopen:
*/

$fp = fopen("http://www.ibs.org/dm/syndicate/rss/niv.xml", "r");
if(!$fp) {
die("<p>Cannot open RSS feed.</p>");
}
else {
//read RSS document into variable
while(!feof($fp)) {
$data .= fgets($fp, 2048);
}

// create XML parser, set handlers (the functions we created above):
$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startElement", "endElement");
xml_set_character_data_handler($xml_parser, "characterData");

if (xml_parse($xml_parser, $data)) {
$news = "<dl>";
$sports = "<dl>";
$weather = "<dl>";
$programs = "<dl>";

foreach($item as $current) {
switch($current[category]) {

default:
$programs .= "<dt>$current[title]</dt>\n";
$programs .= "<dd>$current[description]<br>\n";
$programs .= "<a href=\"$current[link]\" target='_blank'></a></dd>\n";
}
}
$news .= "</dl>";
$sports .= "</dl>";
$weather .= "</dl>";
$programs .= "</dl>";
}
else {
//die on failed XML parse, display error message
$error_msg = "<p>Cannot parse XML document: $station_url; error: "
.xml_error_string(xml_get_error_code($xml_parser)) .", line "
.xml_get_current_line_number($xml_parser)."</p>";
die($error_msg);
}
xml_parser_free($xml_parser);
}

//close RSS feed
fclose($fp);
?>

****************************-------------***************

Luego en su index.php inserta esto:

<?php require("include/titulares.php"); ?>

y dondequiera que te salga los titulares pega esto

<?php echo $programs;?>

Espero que sea lo que buscas
  #5 (permalink)  
Antiguo 10/03/2005, 09:50
Avatar de lado2mx
Colaborador
 
Fecha de Ingreso: agosto-2001
Ubicación: Veracruz
Mensajes: 3.720
Antigüedad: 22 años, 8 meses
Puntos: 9
De noticias, ahora he encontrado más en www.clarin.com.ar , ahí tienen librerías RSS; el resto de los portales no he visto, y por lo que veo ni les interesa.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 18:28.