Simple HTML Dom - Schwerwiegender Fehler bei der Verwendung von load_file

8

Ich versuche, eine HTML-Datei zu analysieren, die eine fürchterliche (glaube ich, es ist) HTML-Struktur hat und aufgrund dessen und meines Mangels an Wissen konnte ich meinen eigenen Parser nicht schreiben. Später habe ich es mit dem Simple HTML Dom Parser versucht, weil viele Leute (auch auf SO) es empfehlen.

Ich habe die simple_html_dom.php benötigt und dann das Objekt erstellt. Sie scheinen zu funktionieren, die Funktion require () gibt "1" und var_dump () zurück - das Objekt gibt ein Objekt zurück.

Danach habe ich versucht, die URL wie im Handbuch zu laden, aber ich habe einen fatalen Fehler bekommen, egal welche URL ich ausprobiert habe. Der Fehler war der folgende:

%Vor%

Ich habe überprüft, was in Zeile 988 ist und es ist folgendes:

%Vor%

Ich verstehe, dass es hier um Zeichencodierung geht, aber das ist alles. Ich habe darüber weder mit Google noch mit SO etwas gefunden.

Mein ganzer Code ist (Platzhalter-URL):

%Vor%

Könnte mir bitte jemand sagen, was ich tun soll? Oder irgendeine Art von Rat, wenn so etwas passiert.

Vielen Dank im Voraus.

    
Martin Fejes 14.07.2012, 12:16
quelle

3 Antworten

9

In Ihrem PHP-Build fehlt die Multibyte-String-Erweiterung. Es ist eigentlich ziemlich ungewöhnlich, dass dies der Fall ist, es sei denn, Sie verwenden einen wirklich alten PHP-Build oder einen, der mit ungewöhnlichen Kompilierungsoptionen kompiliert wurde, da die Multibyte-Erweiterung standardmäßig nicht aktiviert ist die wesentlichen Erweiterungen, die mehr oder weniger jeder PHP Build heutzutage hat.

Wenn Sie eine alte Version von PHP verwenden, würde ich dringend empfehlen, zu aktualisieren, wenn Sie einen relativ kurzen Build haben, überprüfen Sie mit phpinfo (), dass Sie Multibyte installiert haben. Wenn dies nicht der Fall ist, müssen Sie möglicherweise PHP neu installieren oder neu erstellen.

Wenn es installiert ist, sollte --enable-mbstring in der Liste der Kompilieroptionen stehen. Weitere Informationen finden Sie im PHP-Handbuch zur Multibyte-Erweiterung, insbesondere im Kapitel zur Installation .

    
GordonM 14.07.2012, 12:27
quelle
6

Ich hatte das gleiche Problem mit Amazon EC2 & amp; eine Standardinstallation von PHP. Ich habe folgendes getan (gefunden auf Ссылка ), welches das Problem gelöst hat:

%Vor%     
Luke 07.12.2012 17:08
quelle
0

Entfernen Sie den nachgestellten Schrägstrich (/) in Ihrer URL-Zeichenfolge in der load_file () -Methode, und es funktioniert.
Anscheinend hat die Methode load_file () der Simple HTML DOM Library ein Problem, bei dem Schrägstriche an das Ende einer URL-Zeichenfolge angehängt werden.

    
user1676047 14.11.2017 09:44
quelle