Długo staram się zrozumieć, jak używać obiektu DOMElement w PHP. Znalazłem ten kod, ale nie jestem pewien, że to dotyczy mnie:Używanie PHP do uzyskania elementu DOM
$dom = new DOMDocument();
$dom->loadHTML("index.php");
$div = $dom->getElementsByTagName('div');
foreach ($div->attributes as $attr) {
$name = $attr->nodeName;
$value = $attr->nodeValue;
echo "Attribute '$name' :: '$value'<br />";
}
zasadzie to, co potrzebne jest, aby szukać DOM dla element
ze szczególnym id
, po którym punkt muszę wyodrębnić non -standardowy attribute
(tj. taki, który wymyśliłem i nałożyłem na JS), więc widzę wartość tego. Powód jest taki, że potrzebuję jednego kawałka z $_GET
i jednego kawałka, który jest w kodzie HTML opartym na przekierowaniu. Jeśli ktoś mógłby po prostu wyjaśnić, w jaki sposób używam DOMDocument do tego celu, byłoby to pomocne. Naprawdę walczę o zrozumienie tego, co się dzieje i jak właściwie to zaimplementować, ponieważ wyraźnie nie robię tego dobrze.
EDIT (Gdzie jestem na podstawie komentarzu):
To jest moje linii kodu 4-26 dla odniesienia:
<div id="column_profile">
<?php
require_once($_SERVER["DOCUMENT_ROOT"] . "/peripheral/profile.php");
$searchResults = isset($_GET["s"]) ? performSearch($_GET["s"]) : "";
$dom = new DOMDocument();
$dom->load("index.php");
$divs = $dom->getElementsByTagName('div');
foreach ($divs as $div) {
foreach ($div->attributes as $attr) {
$name = $attr->nodeName;
$value = $attr->nodeValue;
echo "Attribute '$name' :: '$value'<br />";
}
}
$div = $dom->getElementById('currentLocation');
$attr = $div->getAttribute('srckey');
echo "<h1>{$attr}</a>";
?>
</div>
<div id="column_main">
Oto komunikat dostaję:
Warning: DOMDocument::load() [domdocument.load]: Extra content at the end of the document in ../public_html/index.php, line: 26 in ../public_html/index.php on line 10
Fatal error: Call to a member function getAttribute() on a non-object in ../public_html/index.php on line 21
'index.hp' nie zostanie wykonane. 'loadHTML' odczytuje zawartość pliku, nie uruchamia go. Może zajść potrzeba zrobienia czegoś takiego: '$ dom-> loadHTML (file_get_contents ('http: //localhost/index.php'))'. –