Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP]Pobieranie ikony strony
Forum PHP.pl > Forum > Przedszkole
e-milnet
W jaki sposób pobrać ikonę strony której podam adres?
Fifi209
Poszukać czy jest fav.ico ew. favicon.ico ;]
e-milnet
Znaczy się jak? Bo chodzi mi o to zeby robic dynamicznie odnosniki do stron z ikonami.
Fifi209
W źródle strony sprawdzić czy jest? Jeżeli jest to wyświetlić link?
e-milnet
Tak i później przerobił bym to w odnośnik obrazkowy.
!*!
file_get_contents
preg_match
e-milnet
Jestem słaby w wyrażeniach regularnych więc dalej proszę o pomoc. Swój skrypt doprowadziłem do postaci:
  1. function find_icon_URL($url)
  2. {
  3. $pattern = '^<link rel=\"Shortcut icon\" href=\"+[[:graph:]]+\" />$';
  4. preg_match($pattern ,file_get_contents($url), $table);
  5. $string = $table[0];
  6.  
  7. return $string;
  8. }
!*!
  1. preg_match("~<(link(.+?)rel=\"(shortcut icon|icon)\"[^>])*>~");
e-milnet
Wyskakuje mi bład:
Notice: Undefined offset: 0

  1. function find_icon_URL($url)
  2. {
  3. $pattern = "~<(link(.+?)rel=\"(shortcut icon|icon)\"[^>])*>~";
  4. preg_match($pattern ,file_get_contents($url), $table);
  5. $string = $table[0];
  6.  
  7. return $string;
  8. }
!*!
Bo to tylko teoretyczny przykład był. Zacznijmy od tego że nie każda strona ma w źródle favikonę. Wystarczy że ma plik .ico w głównym katalogu. Pobierz źródło strony, sprawdź czy występuje tag <link> coś w stylu <link (.*)> bo nie zawsze atrybuty będą w tej samej kolejności. A jeśli nie chce Ci się tego pisać to skorzystaj z

http://www.google.com/s2/favicons?domain=forum.php.pl

To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.