[PHP]Pobieranie wiadomości z IDG.pl

0

Potrzebuje kod php do pobierania wiadomości z IDG.pl wie ktoś jak to może zrobic ??

0

Wystarczy, ze poszukasz w google php+rss albo nawet php+xml i juz.

//...

0

aaa zle sformulowalem posta potrzebuje kod php który pobierze naglowki najnowszych wiadomosci i wrzuci mi na moja strone
i jak klikne na ten naglowek to sie mi otworzy strona z tymi aktualnosciami czyi takie cos jak jest na 4P :D

0
Milka napisał(a)

http://www.idg.pl/rss/xml/rss_news_30.asp masz i działaj!

Znalallem to sam (jestem z tego dumny) tylko, ze jest problem ja sie na php nie znam i nie wiem jak to zrobic zeby mi pokazywal te naglowki a potem cale wiadomosci czy byl by ktos tak dobry i mi to zrobil :) Ponieważ jest mi to bardzo potrzebne :(

0

jak tak jak w kojocie to ma on otwarte źródła i nic się nie stanie jak zerkniesz

0

http://www.gorion.pl/temp/rss/rss.rar

I tak to wygląda w praktyce: http://www.gorion.pl/temp/rss/

Mam nadzieję, że to o to chodziło.

Korzysta z "Magpie RSS - PHP RSS Parser"

0
<?
$rss_link = 'http://rssout.idg.pl/iso_rss_news_30.xml';
$currentTag = "";
$startitem = 0;
$encoding = 0;
$rss_items = array();

function startTag($parser, $name, $attrs)
{
    global $currentTag, $startitem;
    $currentTag = $name;
    if ($currentTag=='ITEM') $startitem++;
}

function endTag($parser, $name)
{
       global $currentTag;
       $currentTag = "";
}

function characterData($parser, $data)
{
  global $currentTag, $startitem, $rss_items;
  if ($startitem > 0) {
   switch ($currentTag) {
     case 'TITLE': $rss_items[$startitem]['TITLE'].=$data; break;
     case 'LINK' : $rss_items[$startitem]['LINK'] .=$data; break;
     case 'DESCRIPTION': $rss_items[$startitem]['DESCRIPTION'].=$data; break;
   }

  }

}

$xml_parser = xml_parser_create();
xml_set_element_handler($xml_parser, "startTag", "endTag");
xml_set_character_data_handler($xml_parser, "characterData");

$rss_link = parse_url($rss_link);

 $header  = "GET ".$rss_link["path"].(isset($rss_link["query"]) ? "?".$rss_link["query"] : false)." HTTP/1.0\r\n";
 $header .= "Host: ".$rss_link['host']."\r\n";
 $header .= "Content-type: application/x-www-form-urlencoded\r\n";
 $header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; www.inteco.win.pl)\r\n";
 $header .= "Content-length: " . strlen($request) . "\r\n\r\n";

 if ($rss_read = @fsockopen($rss_link['host'], ($rss_link['port']>0 ? $rss_link['port'] : 80), $err_num, $err_msg, 10)) {

   fputs($rss_read, $header . $request);

   while ($data = fread($rss_read, 4096)) {

    if ((empty($encoding)) && (preg_match("#<\?xml.+(|encoding=\"([\w\-]+)\").*?\?>#i",$data,$enc))) {  // nagłówek XML i pobieranie
      $encoding = preg_replace("#<\?xml.+encoding=\"([\w\-]+)\".*\?>#s","\\1",$enc[0]);            // kodowania tekstu
      $data = preg_replace('#(.*?)(<\?xml)#s','\\2',$data);
    }

    if (!empty($encoding)) {
      if (!xml_parse($xml_parser, $data, feof($rss_read))) {
      die(sprintf("XML error: %s at line %d", xml_error_string(xml_get_error_code($xml_parser)), xml_get_current_line_number($xml_parser)));

      }
    }
   }
 }

xml_parser_free($xml_parser);
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>kanal rss</title>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-2" />
<style type="text/css">
body {
 font: normal 11px Verdana, Arial, Helvetica, sans-serif;
}
h1 {
 font-size: 100%;
}
div {
 padding:2px;
 border-bottom:2px ridge white;
}
</style>
</head>
<body>
<?
 foreach ($rss_items as $wart) {
  echo '<div>'."\r\n";
  echo '<h1><a href="'.$wart['LINK'].'">'.$wart['TITLE'].'</a></h1>'."\r\n";
  echo $wart['DESCRIPTION']."\r\n";
  echo '</div>'."\r\n";
 }
?>
</body>
</html>
0
Gorion napisał(a)

http://www.gorion.pl/temp/rss/rss.rar

I tak to wygląda w praktyce: http://www.gorion.pl/temp/rss/

Mam nadzieję, że to o to chodziło.

Korzysta z "Magpie RSS - PHP RSS Parser"

Tak, o to mi chodzilo tylko troszke to przerobie :]
DZIEKI !!

0

A nie lepiej wykorzystac narzedzie, ktore dostarcza sam php. Tutaj przyklad wyk. powyzszego kodu, ktory zaproponowalem:

http://inteco.win.pl/

0

Po co pisać coś co już zostało raz napisane.
Użycie tamtej biblioteki jest o wiele prostsze i szybsze. Warto wiedzieć jak coś działa od środka, ale w większości przypadków to właśnie szybkość jest najważniejsza.

0
Gorion napisał(a)

Użycie tamtej biblioteki jest o wiele prostsze i szybsze.

Z tym sie nie zgodze. Ja uzylem typowych wkompilowanych komponentow do obslugi xml'a. I sadze ze dosc optymalnie. Natomiast biblioteki maja wiele dodatkow, aby byly kompatybilne pod roznymi serwerami. Dlatego nie musi byc taka bibblioteka szybsza.

0

Szybsza pod względem wdrażania w życie.
Z tym, że będzie się wolniej wykonywała zgadam się w 100% procentach :-)

Każdy robi jak lubi. Ja nie lubię pisać tego samego kilka razy, a jeżeli tamto jest bardzo ładnie poukładane w klasach, tak, że użycie jest po prostu banalnie/bajeczne proste to ja jestem szczęśliwym człowieczkiem.
Widziałeś ile linii kodu zajmuje rozwiązanie wykorzystujące tą bibliotekę? Ja bardzo oszczędzam moje palce ;-) Trzeba dbać o swoje stawy na przyszłość ;-)

Sourceforge ..... let?s make things better :D

1 użytkowników online, w tym zalogowanych: 0, gości: 1