plik index.php
<?php // Plik gdzie zapisac z tylko tobie znana nazwa! (daj prawa do pliku chomd o+rw plik) $filename = \"pogoda4444.inc\"; // Strona z jakiej pobieramy! Uwaga wystarczy zmienic kod miasta na twoj! $site_aura = \"http://pogoda.onet.pl/0,1228,38,miasto.html\"; // Jak w linii jest ten ciag wyrazow to zaczynamy szukac! $fstart = 'Teraz'; // Zapisujemy strone do tablicy $stronka $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $site_aura); curl_setopt ($ch, CURLOPT_HEADER, 0); curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1); $output = curl_exec($ch); if (curl_error($ch)) sru('Error: Nie moge się połaczyć ze stroną!'); curl_close($ch); $znalazlem = \"0\"; $ile = \"0\"; // Funckja do wyswietlania bledu i dodatkowo zapisuje w pliku z wynikami ciag znak w // w tym wypadku zapisze spacje (w html -> ) function sru($blad) { if ($blad == 'Error') { $zapisz = \" \"; } } // Szukamy $znalazlem = \"1\"; // SZUKAMY W LINII - PROGNOZY if (!eregi(\"bottom><IMG src=0 height=4><BR>(Wieczorem|Nad ranem|Przed południem|Po południu)<BR>([0-9]{2})-([0-9]{2})<BR><IMG(.+)align=\"absmiddle\"> ([0-9]{1,3}) km/h <IMG(.+)nowrap>([0-9]{1,2})/([0-9]{1,2}) °(.+)nieg:</TD><TD class=a1b>([0-9]{1,2}).([0-9]{1,2}) mm(.+)nowrap>([0-9]{1,5}) hPa(.+)class=a1b>([0-9]{1,2}).([0-9]{1,2}) mm\", $a2, $dane)) sru('Error'); // Pora dnia - (Rano/Popoludniu/Wieczorem) // Pogoda w godzinach 2-3 // Nie potrzebne // Wiatr km/h // Nie potrzebne // Temp. min 7 max. 8 // Nie potrzebne // Snieg 10.11 mm // Nie potrzebne // Cisnienie w hpa // Nie potrzebne // Deszcz 15.16 mm if (!eregi(\"bottom><IMG src=0 height=4><BR>(Wieczorem|Nad ranem|Przed południem|Po południu)<BR>([0-9]{2})-([0-9]{2})<BR><IMG(.+)align=\"absmiddle\"> ([0-9]{1,3}) km/h <IMG(.+)nowrap>([0-9]{1,2})/([0-9]{1,2}) °(.+)nieg:</TD><TD class=a1b>([0-9]{1,2}).([0-9]{1,2}) mm(.+)nowrap>([0-9]{1,5}) hPa(.+)class=a1b>([0-9]{1,2}).([0-9]{1,2}) mm\", $a3, $dane)) sru('Error'); // Pora dnia - (Rano/Popoludniu/Wieczorem) // Pogoda w godzinach 2-3 // Nie potrzebne // Wiatr km/h // Nie potrzebne // Temp. min 7 max. 8 // Nie potrzebne // Snieg 10.11 mm // Nie potrzebne // Cisnienie w hpa // Nie potrzebne // Deszcz 15.16 mm // zapisujemy wynik w pliku z pogoda! $zapisz = <<< EOT <font color=\"blue\">Pogoda dla Zgorzelca:</font> Teraz (w godz.$dane_a[2]-$dane_a[3]) temp.min./max.: $dane_a[7]/$dane_a[8] °C, ciśnienie: $dane_a[13] hPa, wiatr: $dane_a[5] km/h, deszcz: $dane_a[15].$dane_a[16] mm, śnieg: $dane_a[10].$dane_a[11] mm, Później (w godz.$dane_b[2]-$dane_b[3]) temp.min./max.: $dane_b[7]/$dane_b[8] °C, ciśnienie: $dane_b[13] hPa, wiatr: $dane_b[5] km/h, deszcz: $dane_b[15].$dane_b[16] mm, śnieg: $dane_b[10].$dane_b[11] mm EOT;fputs($plik,$zapisz); flock($plik,3); fclose($plik); } } if ($znalazlem == \"0\") sru('Error: Nie znalazłem wyników na stronie - możliwa zmiana kodu strony z pogodą!'); ?>
plik check.php
<?php // Stronka $site_aura = \"http://pogoda.onet.pl/0,1228,38,miasto.html\"; $ch = curl_init(); curl_setopt ($ch, CURLOPT_URL, $site_aura); curl_setopt ($ch, CURLOPT_HEADER, 0); curl_setopt ($ch, CURLOPT_RETURNTRANSFER,1); $output = curl_exec($ch); curl_close($ch); } ?>
i jeszcze drugi skrypt
<? function unhtmlspecialchars( $string ) { return $string; } $linki['gazeta'] = 'http://www.gazeta.pl/pub/rss/sport.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'; $separator = '|~|'; $item = false; $chanel_title = ''; $encoding = ''; $lines_item = ''; $header = \"GET \".$rss_link[\"path\"].(isset($rss_link[\"query\"]) ? \"?\".$rss_link[\"query\"] : false).\" HTTP/1.0rn\"; $header .= \"Host: \".$rss_link['host'].\"rn\"; $header .= \"Content-type: application/x-www-form-urlencodedrn\"; $header .= \"User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; www.rss4all.net)rn\"; $header .= \"Content-length: \" . strlen($request) . \"rnrn\"; 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> <select id=rss_canal name=rss_canal> <? foreach ($linki as $klucz => $wart) { echo\">$klucz</option>rn\"; } ?> </select> <INPUT type=\"submit\" value=\"pokaż\" name=pokaz> </form> <? foreach ($items_tab as $wart) { if (!empty($description)) echo stripslashes(unhtmlspecialchars($description)).\"<br><br><br>nnn\"; } } ?> </BODY> </HTML>
pozdrawiam