Post
#1
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 13.04.2007 Ostrzeżenie: (0%)
|
Witam!
Potrzebuję odczytać plik html podobnie jak xml(najlepiej przez simplexml, chociaż domem też nie pogardzę). Chodzi o to że strona nie ma odpowiedniej struktury i dlatego plik nie może zostać załadowany ani przez dom ani przez simplexml. Wyrzuca mniej więcej takie błędy
Oczywiście dane mogę odczytać przez explode, ale to strasznie ograniczy wydajność skryptu. Czy można jakoś ominąć dokładne sprawdzanie struktury dokumentu? Proszę o pomoc. Pozdrawiam, Kacper. |
|
|
|
![]() |
Post
#2
|
|
|
Grupa: Zarejestrowani Postów: 252 Pomógł: 2 Dołączył: 4.12.2004 Skąd: Skierniewice Ostrzeżenie: (10%)
|
|
|
|
|
Post
#3
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 13.04.2007 Ostrzeżenie: (0%)
|
Tak samo, jakieś inne pomysły ? (IMG:http://forum.php.pl/style_emoticons/default/biggrin.gif)
|
|
|
|
Post
#4
|
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%)
|
pochwalisz się kodem? może tam coś nie gra, albo ścieżki masz nie te
|
|
|
|
Post
#5
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 13.04.2007 Ostrzeżenie: (0%)
|
Ścieżka jest na 100% dobra, kwestia jest tego że strona jest zbudowana nie zgodnie ze standardami xml. Jest jakaś funkcja która przeleci mi ciąg i podomyka znaczniki itd ?
Kod
Zwykłe wczytanie nic więcej ;/ |
|
|
|
Post
#6
|
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%)
|
a po co file_get_contents? może nie masz biblioteki DOM
info: http://pl.php.net/dom |
|
|
|
Post
#7
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 13.04.2007 Ostrzeżenie: (0%)
|
Wczytałem bezpośrednio domem no i znowu error, widze że chyba explode to jedyne rozwiązanie.
[php][/php]Warning: DOMDocument::loadXML() [function.DOMDocument-loadXML]: Start tag expected, '<' not found in Entity, line: 1 |
|
|
|
Post
#8
|
|
|
Grupa: Zarejestrowani Postów: 1 385 Pomógł: 48 Dołączył: 23.05.2007 Ostrzeżenie: (0%)
|
a zobacz z error_reporting(0); (IMG:http://forum.php.pl/style_emoticons/default/tongue.gif) , ale chyba to nic nie da
|
|
|
|
Post
#9
|
|
|
Grupa: Zarejestrowani Postów: 1 387 Pomógł: 273 Dołączył: 18.02.2008 Ostrzeżenie: (0%)
|
Nie da się przetworzyć niepoprawnego kodu XML. Dlaczego przeglądarki nie potrafią wyświetlić strony w XHTML1.1 gdy ta zawiera nawet jeden, drobny błąd?
kaapa, pozostaje Ci użyć do tego wyrażeń regularnych. Wydajnością bym się nie martwił - i tak 99% czasu wykonywania skryptu zajmie ściąganie tego pliku... |
|
|
|
Post
#10
|
|
|
Grupa: Zarejestrowani Postów: 9 Pomógł: 0 Dołączył: 13.04.2007 Ostrzeżenie: (0%)
|
A zadam jeszcze jedno pytanie, może troszke mały ot będzie ;p Czy wyrażenia regularne są dużo wydajniejsze od funkcji explode ?
|
|
|
|
Post
#11
|
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 21 Dołączył: 28.06.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%)
|
zależy co chcesz robić, na jaki duzym stringu...
Czasem lepiej to czasem to, zresztą całkiem nie rozumiem ponieważ wyrażenia regularne mogą się dopasować a explode - nie... |
|
|
|
Post
#12
|
|
|
Grupa: Zarejestrowani Postów: 300 Pomógł: 32 Dołączył: 31.07.2006 Ostrzeżenie: (0%)
|
Spróbuj http://simplehtmldom.sourceforge.net/ - nie ma problemów z parsowaniem błędnego kodu, i można bardzo wygodnie wyszukiwać elementy po atrybutach, klasach czy normalnie po id zaś całość to tylko jeden plik.
Ten post edytował ucho 10.07.2008, 08:03:07 |
|
|
|
![]() ![]() |
|
Aktualny czas: 23.12.2025 - 20:31 |