Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [meta] testing
lenczewski
post
Post #1





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

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


nie wiem czy wybrałem dobry dział, ale czy moglibyście pomóc mi w pzetestowaniu skryptu:
http://meta.rutkatartak.info/index.php

Czyta on stronę, a następnie wyszukuje tytul, opis i słowa kluczowe na stronie.
chciałbym dowiedzieć się na jakie błędy może być narażony (np. wpisywany adres z http:// lub bez, znacznik <title> lub <TITLE> itp.), czy działa na wszystkie strony czy z jakimiś są problemy.

użycie:

http://meta.rutkatartak.info/index.php/google.pl


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 6)
kszychu
post
Post #2





Grupa: Przyjaciele php.pl
Postów: 2 712
Pomógł: 23
Dołączył: 27.10.2003
Skąd: z kontowni

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


Przenoszę. Daj przynajmniej podgląd kodu.


--------------------
"Coś się kończy, coś się zaczyna." Andrzej Sapkowski
Go to the top of the page
+Quote Post
dr_bonzo
post
Post #3





Grupa: Przyjaciele php.pl
Postów: 5 724
Pomógł: 259
Dołączył: 13.04.2004
Skąd: N/A

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


Opisalbys wyswietlane dane: ktore to tytul, slowa kluczowe itd.


--------------------
Nie lubię jednorożców.
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%)
-----


Poniżej załączam klasę (moja pierwsza w zyciu, wiec błedów zapewne masa).

  1. <?php
  2. class meta
  3. {
  4. var $adres;
  5. var $description;
  6. var $keywords;
  7. var $title;
  8.  
  9.         function ADR($adres)
  10.          {
  11.             if(!ereg('^http://', $adres))
  12.             $this->adres = "http://" . $adres;
  13.          }
  14.  
  15.         function VIEW($co)
  16.          {
  17.             $tmp = htmlspecialchars($this->$co);
  18.             if(!empty($tmp)) echo $tmp . "n";
  19.             else echo " ";
  20.          }
  21.      
  22.  
  23.         function IF_EXISTS($adres)
  24.          {
  25.             if(!@fopen($adres, 'r'))
  26.             die("Page not found.nUsage: http://meta.rutkatartak.info/index.php/google.com");
  27.          }
  28.      
  29.  
  30.         function META_TAGS($what)
  31.          {
  32.             $tags = get_meta_tags($this->adres);
  33.             $this->$what = $tags[$what];
  34.             $this->VIEW($what);
  35.          }
  36.     
  37.     // WYSZUKUJE TYTUL STRONY
  38.     
  39.         function TITLE()
  40.          {
  41.  
  42.             $plik = @fopen($this->adres, r);
  43.         
  44.             $q_title_start = "<title>";
  45.             $q_title_end   = "</title>";
  46.         
  47.             $all_data = "";
  48.             
  49.             for($i=1;$i<=100;$i++)
  50.             {
  51.                 $dane = @fgets($plik);
  52.         
  53.                 if(stristr($dane, $q_title_start))
  54.                  {
  55.                   $all_data .= $dane;
  56.                   # echo "STARTn";
  57.                        if(stristr($dane, $q_title_end))    break;
  58.                        else
  59.                         {
  60.                             for($i;$i<100;$i++)
  61.                              {
  62.                                 $dane = @fgets($plik);
  63.                                 if(stristr($dane, $q_title_end))
  64.                                  {
  65.                                     $all_data .= $dane;
  66.                                     # echo "ENDn";
  67.                                     break;
  68.                                  }
  69.                                 else
  70.                                  {
  71.                                     $all_data .= $dane;
  72.                                     # echo "NEW LINEn";
  73.                                  }
  74.                               }
  75.                         }
  76.                  }
  77.             }
  78.     
  79.         
  80.             $all_data = ereg_replace("(rn|n|r)", " ", $all_data);
  81.             $all_data = ereg_replace("(  |    )", "", $all_data);
  82.         
  83.                 if(!strstr($all_data, $q_title_start))
  84.                  {
  85.                     $q_title_start = strtoupper($q_title_start);
  86.                  }
  87.         
  88.             $all_data=split($q_title_start,$all_data);
  89.             $all_data=split("</",$all_data[1]);
  90.         
  91.             $all_data[0] = trim($all_data[0]);
  92.         
  93.             if(strlen($all_data[0]) > 47) { $all_data[0] = substr($all_data[0], 0, 47); $all_data[0] .= "..."; }
  94.             $this->title = $all_data[0];
  95.         
  96.             $this->VIEW("title");
  97.          }
  98. }
  99. ?>


Ten post edytował lenzcewski 6.09.2005, 08:31:18


--------------------
Go to the top of the page
+Quote Post
Spirit86
post
Post #5





Grupa: Zarejestrowani
Postów: 607
Pomógł: 23
Dołączył: 8.09.2004
Skąd: Wrocław

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


Cześć, jak na razie znalazłem takie bugi:
1) Bug, jak ktoś wpisze adres:
index.php/jakis_link/jakis_katalog/
skrypt nie działa. Tak samo będzie się działo z kontami typu:
localhost/~jakisnick/
itd.
2) Daj inputa, zamiast ręcznego wpisywania zmiennych winksmiley.jpg.


--------------------
Audio: Metallica, Soil, RHCP, OffSpring, Green Day, "Retro", Gorillaz, Disturbed, Coma
DB: MySQL 4.1 | php: 4.4.3 Pomogłem Ci? Wciśnij przycisk POMÓGŁ.
Go to the top of the page
+Quote Post
yavaho
post
Post #6





Grupa: Zarejestrowani
Postów: 449
Pomógł: 0
Dołączył: 26.05.2004
Skąd: Nowy Sącz

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


Nie rozpoznaje polskich liter na stronnach, które mają kodowane inne niz iso-8859-2
Powinienes zrobic konwersje znakow przynajmniej jeszcze z 2 standardow ktore sa stosowane:
utf-8
windows-1250


--------------------
Książki informatyczneKsiążki biznesowe
Warsztat: notepad hardcore
Go to the top of the page
+Quote Post
lenczewski
post
Post #7





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

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


dobra z tym katalogiem, to jak wyłapać stronę? Przecież nie zawsze jest html (php, php3, shtml, asp, ... i setki innych).

Macie może jakieś pomysły na optymalizację kodu?


--------------------
Go to the top of the page
+Quote Post

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

 



RSS Aktualny czas: 20.08.2025 - 07:28