![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 185 Pomógł: 10 Dołączył: 29.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam!
Próbuję napisać funkcję, która przejrzy ciąg tekstu w html, a po odnalezieniu odnalezieniu "<img src itd", pobierze scieżke z src ale nic mi nie idzie. Macie może jakieś pomysły jak się za to zabrać ? |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 189 Pomógł: 60 Dołączył: 5.10.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 1 333 Pomógł: 137 Dołączył: 25.03.2008 Skąd: jesteś?? Ostrzeżenie: (0%) ![]() ![]() |
@Necsord pierwszy raz widzę takie rozwiązanie jak się ma do wyrażeń regularnych?
-------------------- Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 189 Pomógł: 60 Dołączył: 5.10.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
Regexp jest zdecydowanie szybszy. Szybki google link: http://blog.kamilbrenk.pl/pobieranie-adres...z-innej-strony/
Niby polecany jest także phpQuery, ale nigdy nie próbowałem. ( Edit. phpQuery bazuje na DOMDocument. ) Ten post edytował Necsord 28.01.2012, 20:03:42 |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 185 Pomógł: 10 Dołączył: 29.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
OK, działa super. Teraz dalsza zagwozdka ... mam takie cuś:
Kod wyświetla zmienione obrazki i to jest ok, ale jak teraz dodać do <img> link, np do oryginalnego obrazu? |
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 189 Pomógł: 60 Dołączył: 5.10.2010 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
![]() Grupa: Zarejestrowani Postów: 1 333 Pomógł: 137 Dołączył: 25.03.2008 Skąd: jesteś?? Ostrzeżenie: (0%) ![]() ![]() |
Ohh, w takim razie wydajność tego rozwiązania w prost boli, @marian84 wchodziłeś na podany link?
Kod Metoda / iteracje 1 10 100 DOM Document 3.8939 38.4944 399.2282 Wyrażenia regularne 0.0383 0.1597 1.6267 Różnica ~250 razy krotna może warto skorzystać z wyrażeń, przy 2-3 linkach i kilku stronach może to bez sensu, ale jak będziesz wykorzystywał ten kod mocniej na prawdę zastanów się, serwer będzie miał łatwiej, a Ty szybciej. ;-) -------------------- Mój blog - o wszystkim i niczym ale zazwyczaj związane z informatyką! ;-)
Githube Usługi spawalnicze i monterskie | Park linowy Lublin i Okunince |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 1 332 Pomógł: 294 Dołączył: 12.10.2008 Skąd: Olkusz Ostrzeżenie: (0%) ![]() ![]() |
Ohh, w takim razie wydajność tego rozwiązania w prost boli, @marian84 wchodziłeś na podany link? Kod Metoda / iteracje 1 10 100 DOM Document 3.8939 38.4944 399.2282 Wyrażenia regularne 0.0383 0.1597 1.6267 Różnica ~250 razy krotna może warto skorzystać z wyrażeń, przy 2-3 linkach i kilku stronach może to bez sensu, ale jak będziesz wykorzystywał ten kod mocniej na prawdę zastanów się, serwer będzie miał łatwiej, a Ty szybciej. ;-) Właśnie, zależy co dokładnie masz zrobić, nie wszystko można prosto na wyrażeniach regularnych załatwić... a jeśli chodzi o DOM to z każdego z elementów musi powstać obiekt, i te obiekty muszą zostać powiązane w strukturę drzewa (cały dokument), więc co się dziwisz, że wyrażenia regularne tutaj są szybsze?? Poza tym w DOM masz jeszcze wygodę samej modyfikacji drzewa DOM... Półśrodkiem tutaj gdzie można pokusić się o porównywanie z wyrażeniami regularnymi przy odpowiednim przechodzeniu przez dokument to porównywanie z PHP SAX - ale to musiałbyś umieć sobie ułożyć logikę zdarzeniowo, gdyż nie jest wczytywany dokument w całości. W przypadku PHP, SAX odnosi się do XML Parser -------------------- Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.
|
|
|
![]()
Post
#9
|
|
![]() Grupa: Zarejestrowani Postów: 185 Pomógł: 10 Dołączył: 29.01.2008 Ostrzeżenie: (0%) ![]() ![]() |
@ShadowD - zawartość strony i tak wrzucam w cache więc jednorazowe przetworzenie nie wpłynie aż tak na wydajność i obciążenie serwera- ale dzięki za sugestię.
@Necsord- dzięki, wszystko działa jak powinno. |
|
|
![]()
Post
#10
|
|
![]() Developer Grupa: Moderatorzy Postów: 3 045 Pomógł: 290 Dołączył: 20.01.2007 ![]() |
Ohh, w takim razie wydajność tego rozwiązania w prost boli, @marian84 wchodziłeś na podany link? Kod Metoda / iteracje 1 10 100 DOM Document 3.8939 38.4944 399.2282 Wyrażenia regularne 0.0383 0.1597 1.6267 Różnica ~250 razy krotna może warto skorzystać z wyrażeń, przy 2-3 linkach i kilku stronach może to bez sensu, ale jak będziesz wykorzystywał ten kod mocniej na prawdę zastanów się, serwer będzie miał łatwiej, a Ty szybciej. ;-) Nie trzeba tego kodu testować, aby stwierdzić że ten test jest z kosmosu. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 13.06.2025 - 07:32 |