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% getElementsByTagName
gibt Ihnen eine Liste von Elementen zurück, also müssen Sie zuerst die Elemente durchgehen und dann durch ihre Attribute.
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):
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:
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)