Witam!
Czy ktoś wie skąd można ściągnąć sobie czytnik RSS w PHP, tak, żebym mógł na stronie wyświetlić dowolny kanał (nie wiem ,czy dobrze się wyraziłem)
Prosze o pomoc
Witam!
Czy ktoś wie skąd można ściągnąć sobie czytnik RSS w PHP, tak, żebym mógł na stronie wyświetlić dowolny kanał (nie wiem ,czy dobrze się wyraziłem)
Prosze o pomoc
Tak trudno poszukać?
Taaaa - to co podales, to jakis serwis umozliwiajacy wstawienie RSS na swoja strone :/ Wole jakis skrypt, ktory bedzie dzialal u mnie na serwerze. No ale i tak dzieki za dobre checi :)
Zna kots jakis darmowy sktypt PHp do odczytu RSS?
http://www.google.pl/search?ie=UTF-8&oe=UTF-8&q=php+rss
2 pierwsze linki itd.
tu masz wsio http://www.webovers.org/index.php?id=1rss
Mojego autorstwa:
<?
function unhtmlspecialchars( $string ) {
$string = str_replace ( '&', '&', $string );
$string = str_replace ( ''', '\'', $string );
$string = str_replace ( '"', '\"', $string );
$string = str_replace ( '<', '<', $string );
$string = str_replace ( '>', '>', $string );
return $string;
}
$linki['gazeta.pl - wiadomo?ci'] = 'http://www.gazeta.pl/pub/rss/wiadomosci.xml';
$linki['chip'] = 'http://www.chip.pl/rss/arts.rss';
$linki['webinside'] = 'http://www.webinside.pl/rss.php';
$linki['mks_vir'] = 'http://www.mks.com.pl/rss/index.rss';
$linki['4programmers.net-forum'] = 'http://4programmers.net/rss.php?rss=topic';
$linki['dziennik internauty'] = 'http://di.com.pl/rss/di.rss';
$linki['e-gospodarka'] = 'http://news.egospodarka.pl/rss.thtml?cat=127';
$linki['linux.pl'] = 'http://www.linux.pl/rss.php';
$linki['informator m. Łomża'] = 'http://www.lomza.info/backend.php';
$linki['Wrocław - poczta'] = 'http://www.poczta.wroclaw.pl/subskrypcja/rss/nowosci.php';
$linki['Max3D.pl - Polish CG Vortal'] = 'http://www.max3d.pl/rss.php';
$linki['Codzienna gazeta muzyczna'] = 'http://www.cgm.pl/rss.php';
$linki['Film.pl - newsy'] = 'http://www.film.pl/backend.php';
$linki['4 x 4 - aktualno?ci'] = 'http://www.4x4.pl/rss/rss.php';
$linki['php5.pl'] = 'http://php5.pl/rss';
$linki['strefaphp.net - news'] = 'http://strefaphp.net/rss.php?type=news';
$linki['Joe Monster'] = 'http://www.joemonster.org/backend.php';
$strona = (!empty($_POST['rss_canal'])) ? $_POST['rss_canal'] : 'dziennik internauty';
$rss_link = (array_key_exists($strona,$linki)) ? $linki[$strona] : $linki['dziennik internauty'];
$separator = '|~|';
$item = false;
$chanel_title = '';
$encoding = '';
$lines_item = '';
$items_tab = array();
$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.itcfull.net)\r\n";
$header .= "Content-length: " . strlen($request) . "\r\n\r\n";
if ($rss_read = @fsockopen($rss_link['host'], 80, $err_num, $err_msg, 15)) {
fputs($rss_read, $header . $request);
while (!feof($rss_read)) {
$line = trim(fgets($rss_read,10000));
if (preg_match("#<\?xml.+(|encoding=\"([\w\-]+)\").*?\?>#i",$line,$enc)) // nagłówek XML i pobieranie
$encoding = preg_replace("#<\?xml.+encoding=\"([\w\-]+)\".*\?>#s","\\1",$enc[0]); // kodowania tekstu
if (!empty($encoding)) {
if (!$item) $chanel_title .= $line;
if ((preg_match("#<item(| .+?)>#",$line)) && (!$item)) {
$item = true;
$chanel_title = preg_replace("#<image.*|<item.*#","",$chanel_title);
$chanel_title = preg_replace("#.*<title(|.+?)>(.*?)</title>.*#","\\2",$chanel_title);
}
}
if ($item) $lines_item .= $line;
}
fclose($rss_read);
if (preg_match_all("#<item(| .+?)>.+?</item>#",$lines_item,$lines_item)) {
foreach ($lines_item[0] as $wart) {
preg_match("#<link>.+?</link>#",$wart,$link);
$link = preg_replace("#<link>(.+?)</link>#","\\1",$link[0]);
if (preg_match("#<title(| .+?)>.+?</title>#",$wart,$title)) {
$title = preg_replace("#<title(| .+?)>(.+?)</title>#","\\2",$title[0]);
$link = '<a href="'.$link.'" target=_blank>'.$title.'</a>';
} else $link = '<a href="'.$link.'" target=_blank>'.$link.'</a>';
if (preg_match("#<description>.+?</description>#",$wart,$description)) {
$description = preg_replace("#<description>(.+?)</description>#","\\1",$description[0]);
$description = str_replace(array("<!\[CDATA\[","]]>"),"",$description);
$description = preg_replace("#<a href=(.+?)>#i","<a href=\\1 target=_blank>",$description);
} else $description = '';
if (!empty($link)) {
$items_tab[] = $description.$separator.$link;
}
}
}
unset($lines_item,$line);
} else Die("błąd otwarcia kanału RSS: $rss_link");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual Studio 6.0">
<META http-equiv=Content-Type content="text/html; charset=ISO-8859-2">
<TITLE>RSS reader by Twardy</TITLE>
<STYLE type="text/css">
body {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
COLOR: #333;
}
a { color:#006486; }
a:hover { color:#1d93b6; }
input,select {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 11px;
border-style: solid; border-color: Gray; border-width: 1px;
height: 17px;
}
</STYLE>
</HEAD>
<BODY>
<p style="margin-bottom:40px">copyright (c) <a href="mailto:[email protected]">Mariusz Twardowski</a></p>
<form action="<? echo $_SERVER['PHP_SELF']; ?>" method=POST id=form1 name=form1>
<select id=rss_canal name=rss_canal>
<?
foreach ($linki as $klucz => $wart) {
echo "<option";
if ($strona == $klucz) echo ' selected="selected"';
echo">$klucz</option>\r\n";
}
?>
</select> <INPUT type="submit" value="pokaż" name=pokaz>
</form>
<?
if (count($items_tab) > 0) {
echo "<b>$chanel_title</b><br>kodowanie: $encoding<br><br><br>\n\n\n";
foreach ($items_tab as $wart) {
list($description,$link) = explode($separator,$wart);
echo "$link<br><br>\n\n";
if (!empty($description)) echo stripslashes(unhtmlspecialchars($description))."<br><br><br>\n\n\n";
}
}
?>
</BODY>
</HTML>