Verwenden von PHP zum Abrufen des DOM-Elements

10

Ich habe große Schwierigkeiten, zu verstehen, wie man das DOMElement-Objekt in PHP benutzt. Ich habe diesen Code gefunden, bin mir aber nicht sicher, ob er auf mich anwendbar ist:

%Vor%

Grundsätzlich muss ich das DOM nach einem element mit einem bestimmten id durchsuchen, nach dem ich ein nicht standardisiertes attribute extrahieren muss (dh eines, das ich erfunden und mit JS angelegt habe) ) so kann ich den Wert davon sehen. Der Grund ist, dass ich ein Stück aus dem $_GET benötige und ein Stück, das im HTML basiert, basierend auf einer Weiterleitung. Wenn jemand nur erklären könnte, wie ich DOMDocument für diesen Zweck verwende, wäre das hilfreich. Ich habe wirklich Schwierigkeiten zu verstehen, was vor sich geht und wie man es richtig umsetzt, weil ich es eindeutig nicht richtig mache.

BEARBEITEN (Wo bin ich basierend auf Kommentar):

Dies ist mein Code Zeilen 4-26 als Referenz:

%Vor%

Hier ist die Fehlermeldung, die ich bekomme:

%Vor%     
Matt 15.11.2011, 22:28
quelle

2 Antworten

16

getElementsByTagName gibt Ihnen eine Liste von Elementen zurück, also müssen Sie zuerst die Elemente durchgehen und dann durch ihre Attribute.

%Vor%

In Ihrem Fall sagten Sie, Sie benötigten eine bestimmte ID. Diese sollen einzigartig sein, also können Sie das tun (beachten Sie getElementById ) funktioniert möglicherweise nur, wenn Sie $dom->validate() zuerst aufrufen):

%Vor%

Dann um Ihr Attribut zu erhalten:

%Vor%

BEARBEITEN : $dom->loadHTML liest nur den Inhalt der Datei, er führt sie nicht aus. index.php wird nicht auf diese Weise ausgeführt. Sie müssen möglicherweise etwas tun wie:

%Vor%     
Rocket Hazmat 15.11.2011, 22:33
quelle
2

Sie haben keinen Zugriff auf den HTML-Code, wenn die Weiterleitung von einem externen Server stammt. Lass es mich so sagen: Das DOM existiert nicht an dem Punkt, an dem du es analysieren willst. Sie können den Text an einen DOM-Parser übergeben und die Elemente auf diese Weise bearbeiten. Oder der bessere Weg wäre, es als eine andere GET-Variable hinzuzufügen.

EDIT: Ist Ihnen auch bekannt, dass der Client den HTML-Code ändern kann und ihn passieren lässt, was er will? (Mit einem Werkzeug wie Firebug)

    
jakx 15.11.2011 22:33
quelle

Tags und Links