![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 25.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Pobieram kod html pewnej strony i chciałbym do zmiennej wrzucić jedynie tabelę, która wygląda mniej więcej tak:
... <table class="messages largepadded"> <trd><td>...</td></tr> .... </table> ... Napisałem taką funkcję:
Ale przy wywołaniu tej funkcji: Otrzymuję błąd: PHP Notice: Undefined offset: 0 in C:\inetpub\wwwroot\test.php on line 13 Pomoże ktoś? |
|
|
![]()
Post
#2
|
|
Grupa: Moderatorzy Postów: 8 989 Pomógł: 1550 Dołączył: 8.08.2008 Skąd: Słupsk/Gdańsk ![]() |
I już znasz odpowiedź na dręczące pytania (IMG:style_emoticons/default/smile.gif) A żeby pewniej pobrać tabelę można użyć np phpquery. |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 25.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Hmm nie wiem czemu, ale dopiero to zadziałało:
Mam jeszcze jedną sprawę - jak z tej tabeli, która wygląda tak:
Chciałbym, aby do tego pliku, do którego zapisuję tabele, zapisane zostały tylko wiersze, w których 3 komórka zawiera tekst: has transfered (...) to your account Pomoże mi ktoś z tym jeszcze? |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 6 476 Pomógł: 1306 Dołączył: 6.08.2006 Skąd: Kraków Ostrzeżenie: (0%) ![]() ![]() |
Cytat Hmm nie wiem czemu, ale dopiero to zadziałało: Ponieważ domyślnie wyrażenia regularne działają od pierwszego znaku do pierwszego wystąpienia znaku końca linii. Modyfikator "s" zmienia to zachowanie.Co do drugiego pytania, to wyrażenie będzie miało mniej-więcej taką formę: Kod #<td>.*?has transfered .{,10} to your account.*?</td>#s Ewentualnie, jeżeli zawsze jest zapis: LICZBA + PLN/EUR/USD to możesz dać:Kod \d+ (?:PLN|USD|EUR) Zamiast tegoKod .{,10}
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 47 Pomógł: 0 Dołączył: 25.12.2009 Ostrzeżenie: (0%) ![]() ![]() |
Próbuję tak:
Ale niestety nie działa to poprawnie - wybiera wszystkie wiersze. |
|
|
![]() ![]() |
![]() |
Aktualny czas: 19.09.2025 - 10:23 |