Potrzebuje kod php do pobierania wiadomości z IDG.pl wie ktoś jak to może zrobic ??
Wystarczy, ze poszukasz w google php+rss albo nawet php+xml i juz.
//...
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
http://www.idg.pl/rss/xml/rss_news_30.asp masz i działaj!
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 :(
jak tak jak w kojocie to ma on otwarte źródła i nic się nie stanie jak zerkniesz
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"
<?
$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>
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 !!
A nie lepiej wykorzystac narzedzie, ktore dostarcza sam php. Tutaj przyklad wyk. powyzszego kodu, ktory zaproponowalem:
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.
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.
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