![]() |
![]() ![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 23.06.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witajcie, postanowiłem ponownie zagościć na forum, gdyż musiałem mój ostatni parser przerobić ze względu na zmianę struktury strony, z której parsowałem dane. I mam obecnie następujący problem.
Parsuję dane z przykładowej strony http://mateusz.pl/czytania/2010/20100407.htm Najpierw ze znacznika <a href="#czytania">...</a> wyciągam do tablicy nazwy czytań, następnie staram się za pomocą funkcji preg_match_all i odpowiednich wyrażeń regularnych utworzonych na podstawie pozycji z ww. tabeli wyciągnąć interesujące mnie fragmenty. Fragmenty są w znacznikach <p>(tu nazwa czytania)<br>tu tresc do wyciągnięcia</p>. I teraz tak:
i następnie tworzę w zależności od dnia:
Dalej wyciągnięcie samej treści robię na zasadzie:
Problem jest w tym, iż działa to tylko za pierwszym razem - jeśli na przykład mam do wyciągnięcia 3 teksty, to pierwszy poprawnie wyciąga, a kolejne 2 tablice do których wczytuję fragmenty wg wzorców są puste... (sprawdzone var_dumpem). Myślałem, że może chodzi o kodowanie, ale dla niepolskich znaków też tak się dzieje. Próbuję już 2 godziny to poprawić i nic. Może ktoś ma pomysł, dlaczego to może nie działać? ![]() Przykład: <html> później inne znaczniki <p>(Dz 3,1-10)<br>tresc czytania 1</p> cos innego <p>(Łk 13,13-15)<br> tresc czytania 2</p> itd.... I po zastosowaniu preg_match_all dla pierwszego wzorca zwraca poprawnie czytanie 1, natomiast w drugim przejsciu petli i wywolaniu wzorca nr 2 nie pokazuje nic. (wzorzec zrobiony analogicznie do poprzedniego) Ten post edytował dj.bobas 7.04.2010, 22:02:44 |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 15.07.2025 - 02:07 |