![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 226 Pomógł: 17 Dołączył: 13.02.2012 Ostrzeżenie: (0%) ![]() ![]() |
Potrzebuję funkcji, która wyciągnie mi title danej strony, jeśli z kolei się nie uda to zwróci po prostu false.
Próbowałem najprostszym sposobem - file_get_contents() - za cholerę nie chce działać. Są wyjątki, np. nk.pl przeczyta, ale onet.pl / interia.pl / wp.pl nie potrafi odczytać, zwraca mi false. Czym to jest spowodowane ? Kod wygląda tak:
Ten post edytował Majkelo23 28.05.2012, 16:17:54 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 56 Pomógł: 18 Dołączył: 7.04.2012 Ostrzeżenie: (0%) ![]() ![]() |
Mam parę uwag odnośnie regexpa.
w preg_match() jako ograniczniki wzoru zastosuj np. @ (znak małpy), unikniesz backslashowania często występujących znaków. Znak zapytania nie jest potrzebny, sama gwiazdka oznacza, że chcesz w tym miejscu dowolną ilość elementów (łącznie z jego brakiem). ad kodu u mnie wyrzuca warning w przypadku nk. Cytat Warning: file_get_contents(http://nk.pl/) [function.file-get-contents]: failed to open stream: HTTP request failed! HTTP/1.1 403 Forbidden in D:\Programms\wamp\skrypty\getUrlTitle.php on line 5. Najprawdopodobniej jest parę rzeczy sprawdzanych (chodzi o nagłówki HTTP, np. przeglądarka). Jeśli chcesz z tego serwisu wydobyć adres skorzystaj np. z curl'a i wyślij fałszywe nagłówki. #edit U mnie w przypadku WP/Interii/Onet, śmiga bez problemu. ew. sprawdź czy nie masz ustawionego w php.ini: allow_url_fopen = Off ale to raczej odpada bo by Ci nic nie zewnętrznego nie czytało. Ten post edytował ethann 28.05.2012, 17:16:42 |
|
|
![]() ![]() |
![]() |
Aktualny czas: 3.10.2025 - 20:27 |