Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP][HTML] Parsowanie strony HTML w php
Grzyby
post 2.07.2012, 15:16:38
Post #1





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 3.06.2003

Ostrzeżenie: (0%)
-----


Witam.

Potrzebuje pomocy przy parsowaniu strony Html i wyjęcia wszystkich plików js.
Ida jest taka że chcę pobrać wszystkie pliki js skompresować je do jednego gzipa.

Próbowałem parsować oraz manipulować strona HTML za pomocą
- Simplehtmldom
- DOMDocument

Funkcje działają poprawnie czyli każda z nich ładnie mi pomaga "dobrać" się do każdego elementu na stronie Html, skasować go oraz wynik zapisać do Html.
Problem pojawia się gdyż te funkcje formatują kod wynikowy HTML'a tak że po wyświetlenie w przeglądarce mam błędy w kodzi javascript.
w DOMDoc formatOutput mam na "false" ale to tez nie daje rozwiązania.

Niestety problem jest w budowie strony html oraz w sposobie dodawania plików js do strony, którego nie mogę kontrolować "bezpośrednio" wiec muszę "obrabiać" już wychodzacy kod Html na wyjściu.

Sprawdzając problem okazuje się ze tylko wczytam stronę i zapisze bez manipulacji czy to Simple Parser czy DomDoc , wynikowy HTML jest błędny i w przeglądarki się "wywala".

Czy ktoś zna może jakiś inny Parser do html w PHP? albo rozwiązał problem może inaczej?


Artur




Go to the top of the page
+Quote Post
!*!
post 2.07.2012, 15:18:58
Post #2





Grupa: Zarejestrowani
Postów: 4 298
Pomógł: 447
Dołączył: 16.11.2006

Ostrzeżenie: (0%)
-----


Cytat
Czy ktoś zna może jakiś inny Parser do html w PHP?

preg_match_all
I co to znaczy że kod wynikowy jest błędny?


--------------------
Nie udzielam pomocy poprzez PW i nie mam GG.
Niektóre języki programowania, na przykład C# są znane z niezwykłej przenośności (kompatybilność ze wszystkimi wersjami Visty jest wiele warta).
Go to the top of the page
+Quote Post
Grzyby
post 2.07.2012, 16:04:01
Post #3





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 3.06.2003

Ostrzeżenie: (0%)
-----


W kodzie pokazuje mi dodatkowe znaki np:( było ale forum wycina te znaki)
Informacje o problemie z formatowaniem tych funkcji już doczytałem...
Znalazłem informacje o Zend_Dom_Query zobaczymy jak się to działa.

Artur

Ten post edytował Grzyby 2.07.2012, 16:05:25
Go to the top of the page
+Quote Post
wNogachSpisz
post 2.07.2012, 19:20:35
Post #4





Grupa: Zarejestrowani
Postów: 1 233
Pomógł: 87
Dołączył: 6.03.2009

Ostrzeżenie: (40%)
XX---


Witaj.

Jeszcze do niedawna poleciłbym DOMDocument.
Niestety ta biblioteka podczas ładowania dokumentu (przed utworzeniem w pamięci drzewa DOM) modyfikuje wiele szczegółów niezgodnych ze standardem HTML, np. wyrzuca poza paragraf wszelkie elementy blokowe.

Dobrze gdybyś przesłał na forum kod, który jest przez DOMDocument nieprawidłowo parsowany, tylko skróć go wcześniej do minimalnej postaci pozwalającej zreprodukować błąd.

Szukając narzędzia do parsowania HTML w PHP, warto przeczytać ten topic: http://stackoverflow.com/questions/3577641...s-html-with-php

Osobiście przestałem używać PHP do tego celu. Projekt o nazwie PhantomJS, to tzw. headless browser. Tam do traversowania DOM używam natywnej funkcji Javascript „document.querySelector()”.
Go to the top of the page
+Quote Post
zegarek84
post 2.07.2012, 20:55:15
Post #5





Grupa: Zarejestrowani
Postów: 1 332
Pomógł: 294
Dołączył: 12.10.2008
Skąd: Olkusz

Ostrzeżenie: (0%)
-----


jeśli nie PHP to z biblioteki QT (C++) polecam QWebElement


--------------------
Jeśli twoja ręka rusza do przodu powstrzymaj swój gniew; gdy wyprzedza cię twój gniew - wycofaj rękę.

Go to the top of the page
+Quote Post
Grzyby
post 3.07.2012, 10:23:36
Post #6





Grupa: Zarejestrowani
Postów: 5
Pomógł: 0
Dołączył: 3.06.2003

Ostrzeżenie: (0%)
-----


Musze mieć w PHP...

To jest propozycja rozwiązania ale nie działa ...
http://devpytania.pl/questions/19504/odwoa...-dom-parser-php

Artur
-----------
Kot

Ten post edytował Grzyby 3.07.2012, 10:28:05
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 24.07.2025 - 15:00