![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 16.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
zacząłem naukę z wyrażeniami regularnym, jestem osoba początkującą i mam pewien problem z wycągnięciem treści. Z niżej podanego kodu potrzebuję wyciągnąć adres http ze znacznika img oraz treść, która znajduje się w znacznikach <b>treść</b>
Prosiłbym o pomoc w rozwiązaniu problemu lub nakierowanie na poprawne rozwiązanie. o to mój kawałek kodu Ten post edytował Astan 23.02.2015, 23:30:34 |
|
|
![]()
Post
#2
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Poki co to Twoj problem to nie jest z wyrazeniami ale z podstawami obslugi tekstow....
Jak tekst rozpoczynasz cudzyslowiem, to nie mozesz sobie od ta do tego tekstu wlożyc cudzysłowa. Lektura obowiązkowa http://php.net/manual/en/language.types.string.php -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 16.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
przepisując kod tutaj nie zwróciłem uwago na to że powinien być apostrof. Jest ktoś w stanie mi pomóc rozwiąc mój problem ? Ten post edytował Astan 24.02.2015, 12:25:37 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 550 Pomógł: 75 Dołączył: 5.06.2012 Skąd: Lębork Ostrzeżenie: (0%) ![]() ![]() |
przepisując kod tutaj nie zwróciłem uwago na to że powinien być apostrof. Jest ktoś w stanie mi pomóc rozwiąc mój problem ? Serio go przepisujesz czy próbujesz ciemnotę wcisnąć ? ![]() |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 217 Pomógł: 21 Dołączył: 10.06.2011 Skąd: Głogów Ostrzeżenie: (0%) ![]() ![]() |
wszystko wyglada elegancko, dodalem tylko flagi case sensitive i aby kropka odpowiadała za białe znaki.(case sensitive niby niepotrzebne, ale zazwyczaj dodaje do regexpa, w razie zmian) Jedynie poprawisz to ci ci powiedział nospor Ten post edytował jackraymund 25.02.2015, 08:25:57 -------------------- Wykonuje zlecenia na pobieranie danych ze stron i różne boty.
|
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 16.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Zacząłem to testowac na stronie regular exspression, link do przykładu https://www.regex101.com/r/hM5sF1/1
Nie wyciąga mi jednego adresu z img, który znajduje się na ciemnym niebieskim polu. <img src="http://static.deathbycaptcha.com/captchas/5cc88aad3a5c322c248dde17598edb7670f7efed" alt="" /> Czy ktoś wie jak mogę to poprawić ? Ten post edytował Astan 25.02.2015, 21:19:58 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 324 Pomógł: 105 Dołączył: 7.08.2012 Ostrzeżenie: (0%) ![]() ![]() |
Nie wyciąga Ci tego adresu, ponieważ nie następuje po nim tekst w znacznikach <b>...</b>. Tzn, wyciąga prawidłowo, ponieważ pobiera adres z img src, na który natrafia, ale potem szuka tekstu w znaczniku <b>. A że taki tekst znajduje się dopiero w kolejnym rzędzie tabeli, za kolejnym adresem w img src, to niestety ten właśnie adres zostaje pominięty.
Podsumowując, pominięte zostaną wszystkie adresy, dla których w danym rzędzie tabeli nie występuje pogrubiony tekst. Więc by to poprawić najlepiej byłoby rozpisać we wzorze wszystkie możliwe układy znaczników w rzędzach tabeli źródłowej. Wówczas jak coś się pojawi to się to wyłapie, a jak nie to ominie. Dla tego konkretnego wycinka danych można je wyciągać np. tym: Ten wzór zakłada, że w rzędzie występuje albo pogrubiony tekst, albo encja (myślnik). Łapany jest albo pogrubiony tekst, gdy występuje, albo pusty string, gdy tego tekstu brak. Ten post edytował kreatiff 26.02.2015, 22:29:19 |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 28 Pomógł: 0 Dołączył: 16.01.2015 Ostrzeżenie: (0%) ![]() ![]() |
Dziękuję za pomoc i na nakierowanie w rozwiązaniu problemu. Musiałem trochę zmodyfikować podany kod
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.06.2025 - 06:17 |