Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [funkcja] OnetAktualności :), Aktualności ze strony głównej Onetu.
label
post
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 26.10.2005
Skąd: Gostynin

Ostrzeżenie: (0%)
-----


Jest to funkcja, która pobiera jedną z tych czterech grup aktualności tych Onetowskich i wyświetla ją w pełni konfigurowalny stylami sposób.

Jest to jeden z pierwszych moich skrypcików i wiem, że nie powinno się ich pisać tak chaotycznie. Bezsensowne zanwy zmiennych brak komentarzy etc tec (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif) Ale jest to wersja początkowa i potem ją poprawie pod tym względem.

Używa się jej w bardzo prosty sposób:
  1. <?php
  2. OnetAktualnosci(3);
  3. ?>

Gdzie:
Kod
1 = Aktualności ze świata
2 = Giełda i Biznes
3 = Sport
4 = Rozrywka, muzyka, film


Na początku kodu jest konfiguracja, każdy sobie może troche dostosować funkcję do własnych potrzeb.

Jak już mówiłem to pierwszy mój skrypcik więc proszę o wyrozumiałość (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)

Oto kod:
  1. <?php
  2. ###############################
  3. ####### OnetAkualności ########
  4. ######## ver1.0 beta ##########
  5. ########## by label ###########
  6. ###############################
  7.  
  8. ///////////////////////////////
  9.  
  10. ######### KONFIGURACJA ########
  11. //---------------------------\\
  12.     //#1 CO SKRYPT MA WYŚWIETLAĆ ? 1#\\
  13.     
  14. /*  $dzial = 3;   //1 = Aktualności ze świata
  15.                   //2 = Giełda i Biznes
  16.                   //3 = Sport
  17.                   //4 = Rozrywka, muzyka, film*/
  18.                   
  19.     //#2 OBRAZEK PRZY PIERWSZYM LINKU 2#\\
  20. /**/  $szer = 20; //Szerokość obrazka wyświetlanego obok pierwszego linka :)
  21. /**/  $wyso = 20; //Wysokość obrazka wyświetlanego obok pierwszego linka :)
  22.  
  23.     //#3 STYL 3#\\
  24. /**/  $wypunktowanie = "<li> "; //Sposób wypunktowania linków, można wstawić obrazek
  25.                                 // (domyślnie <li>, zalecane użycie stylów)
  26.                                 
  27.     //#4 POZOSTAŁE 4#\\
  28. /**/  $dozwolone = '<a><img><br>'; //Grupa tagów, którezostaną przepuszczone przez skrypt
  29.                                    //oryginalnie ze strony Onet.pl
  30.                                    //Zaleca się pozostawienie na miejscu tagu <a> i <img>
  31.  
  32. /**/  $obrazek = 1;             // 1 = Wyświetaj obrazek przy pierwszym linku,
  33.                                 // 0 = nie wyświetlaj obrazka (wyświetla punkcik :)).
  34. ###############################
  35.  
  36. function OnetAktualnosci($dzial){
  37.  
  38.   global $szer;
  39.   global $wyso;
  40.   global $wypunktowanie;
  41.   global $dozwolone;
  42.   global $obrazek;
  43.   
  44. $pli = fopen('http://www.onet.pl/index.html', r);
  45.  
  46. while (!feof($pli)){
  47. $plik = fgets($pli, 999);
  48. $wynik .= $plik;
  49. }
  50.  
  51. $podziel = explode("<div\nclass=pbp5n>", $wynik);
  52.  
  53. if($dzial==4){
  54.   $elo=explode("</table></td></tr></table></div><tr><td>", $podziel[4]);
  55. }
  56.  
  57.  
  58. if($dzial==4){$siemano=$elo[0];}else{$siemano=$podziel[$dzial];}
  59. $podziel2 = explode("<table\nborder=0\ncellpadding=0\ncellspacing=0\nwidth=330\nbgcolor=\"#FFFFFF\"><tr><td\nvalign=middle><", $siemano);
  60. $yo = str_replace ("href=", "href=http://www.onet.pl/", $podziel2[0]);
  61. $yo = str_replace("src=\"", "src=\"http://www.onet.pl/", $yo);
  62. $yo = strip_tags($yo, $dozwolone);
  63. $yo = str_replace("•", "<li> ", $yo);
  64. $yo = str_replace("height=70\nwidth=70", "height=$szer\nwidth=$wyso", $yo);
  65. if($obrazek==0){
  66.     $yo = explode(".jpg\"></a>", $yo);
  67.     echo $wypunktowanie;
  68.     echo $yo[1];
  69. }
  70. else
  71. {
  72. echo $yo;
  73. }
  74. }
  75.  
  76. ?>


Pozdrawiam wszystkich forumowiczów (IMG:http://forum.php.pl/style_emoticons/default/smile.gif)

Ten post edytował label 22.03.2006, 22:28:08
Go to the top of the page
+Quote Post
TomASS
post
Post #2





Grupa: Zarejestrowani
Postów: 1 660
Pomógł: 13
Dołączył: 9.06.2004
Skąd: Wrocław i okolice

Ostrzeżenie: (0%)
-----


1.
Cytat
Warning: fopen(http://www.onet.pl/index.html) [function.fopen]: failed to open stream: Próba połšczenia nie powiodła się, ponieważ połšczona strona nie odpowiedziała poprawnie po ustalonym okresie czasu lub utworzone połšczenie nie powiodło się, ponieważ połšczony host nie odpowiedział.


2.
Czy tych globali nie dałoby rady czymś innym zastąpić?

3.
Może wykorzystasz kanały RSS zobacz.

4.
Rzeczywiście bezsensowne nazewnictwo.

5.
Cytat
Jest to jeden z pierwszych moich skrypcików

To gratuluje - ak na początek jest nieźle - powodzenia (IMG:http://forum.php.pl/style_emoticons/default/guitar.gif)
Go to the top of the page
+Quote Post
hwao
post
Post #3


Developer


Grupa: Moderatorzy
Postów: 2 844
Pomógł: 20
Dołączył: 25.11.2003
Skąd: Olkusz




Jak na 1 skrypt to naprawde niezle.

Proponowal bym zeby skrypt zwracal string a nie void, tzn:
return $toCoEchujesz;
Go to the top of the page
+Quote Post
lenczewski
post
Post #4





Grupa: Zarejestrowani
Postów: 159
Pomógł: 1
Dołączył: 31.08.2005

Ostrzeżenie: (0%)
-----


W marę swoich umiejętnosci poprawiłem trochę skrypt label'a. Teraz zwraca "czyste" wyniki. Nie pojawia się także reklama w aktualnościach. Że można jeszcze lepiej to poprawić to jestem pewien. Pozdrawiam
  1. <?php
  2.  
  3. ###############################
  4. ####### OnetAkualności ########
  5. ######## ver1.5 beta ##########
  6. ########## by label ###########
  7. ############ mod by nv | quad #
  8.  
  9. function OnetAktualnosci($dzial) {
  10.  
  11.     $header = fsockopen("www.onet.pl", 80);
  12.     if (!$header) {
  13.         echo "Brak połączenia.<br>\n";
  14.     } else {
  15.         $send = "GET /index.html HTTP/1.1\r\n";
  16.         $send .= "Host: www.onet.pl\r\n";
  17.         $send .= "Connection: Close\r\n\r\n";
  18.  
  19.         fputs($header, $send);
  20.          $buffor = "";
  21.          while (!feof($header)) {
  22.              $buffor.= fgets($header, 1024);
  23.          }
  24.         fclose($header);
  25. }
  26.  
  27. $podziel = explode("<div\nclass=pbp5n>", $buffor);
  28.  
  29. if($dzial==4) { $elo = explode("</table></td></tr></table></div><tr><td>", $podziel[4]); }
  30. if($dzial==4) { $siemano=$elo[0]; } else { $siemano=$podziel[$dzial]; }
  31.  
  32. $podziel2 = explode("<table\nborder=0\ncellpadding=0\ncellspacing=0\nwidth=330\nbgcolor=\"#FFFFFF\"><tr><td\nvalign=middle>", $siemano);
  33.  
  34. $yo = str_replace ("href=", "target=\"_blank\" href=http://www.onet.pl/", $podziel2[0]);
  35. $yo = ereg_replace("(\r\n|\n|\r)", " ", $yo);
  36. $yo = strip_tags($yo, "<a>");
  37. $yo = ereg_replace("class=a2b|class=lsp|  | <(.*)> </a> ", "", $yo);
  38. $yo = ereg_replace("  ", " ", $yo);
  39. $yo = str_replace("•", "\n", $yo);
  40. $yo = preg_replace('/\<(.*?)\&nbsp;REKLAMA/', '', $yo); 
  41. $yo = ereg_replace("<a ", "<li><a ", $yo);
  42.  
  43. return $yo;
  44.  
  45. }
  46.  
  47. echo "<h3>Aktualności ze świata</h3>\n";
  48. echo OnetAktualnosci(1);
  49.  
  50. echo "<h3>Giełda i Biznes</h3>\n";
  51. echo OnetAktualnosci(2);
  52.  
  53. echo "<h3>Sport</h3>\n";
  54. echo OnetAktualnosci(3);
  55.  
  56. echo "<h3>Rozrywka, muzyka, film</h3>\n";
  57. echo OnetAktualnosci(4);
  58.  
  59. ?>


Ten post edytował lenzcewski 30.03.2006, 20:15:36
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 12:25