Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Dlugie wyniki parsowania
Forum PHP.pl > Forum > PHP
Grangu
Zauwazylem ze funkcje preg_match_all i preg_match nie daja zadnych wynikow jezeli te sa bardzo dlugie czy jest jakis inny sposob zeby wyciac z tekstu bardzo dlugi fragment przy uzyciu wyrazen regularnych?

  1. <?php
  2. $strona = file_get_contents("http://onet.pl");
  3. $wzor = "/<html(.*?)</html>/";
  4. preg_match_all($wzor,$strona, $wynik);
  5. ?>


Wynikiem jest pusta tablica sad.gif
nowotny
Lepiej obejrzyj sobie co zawiera zmienna $strona...

Hint: file_get_contents z jakiegoś powodu nie pobiera całej strony... lepiej IMHO użyć curla...
Zbychu666
Kod
/<html(.*?)<\/html>/

O ile dobrze pamiętam kropeczka nie match'uje znaków końca linii, więc nic dziwnego że nie działa to wyrażenie regularne. tongue.gif

dodaj literke m na końcu i zobacz czy działa (nie chce mi sie testować tongue.gif )

edycja:
Że też mi sie zachciało testować...
  1. <?php
  2. $strona = file_get_contents("http://www.onet.pl");
  3. preg_match('/<html(.+?)</html>/ims', $strona, $wynik);
  4. print_r($wynik);
  5. ?>
Grangu
Dzięki wielkie wszystko gra i buczy smile.gif
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.