PHPでDOMElementオブジェクトを使用する方法を理解するのに苦労しています。私はこのコードを見つけましたが、私はそれが私に適用だ本当によく分からない:PHPを使用して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 />";
}
基本的に私は必要なもの、私が非を抽出する必要がどの時点の後、特定のid
でelement
のためのDOMを検索することです-standard attribute
(つまり、私がJSで作成して入れたもの)だから、その価値を知ることができます。なぜなら、私は$_GET
から1ピース、リダイレクトからHTMLにある1ピースが必要だからです。もし誰かがこの目的のためにDOMDocumentをどのように使うのか説明できたら助かります。私は本当に正しいことをしていないので、何が起こっているのか、それを正しく実装する方法を理解するのに本当に苦労しています。
EDIT(私はコメントをもとにしています):
これは私のコード行の参照のための4-26です:
<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">
ここで私が得ているエラーメッセージです:
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'は実行されません。 'loadHTML'はファイルの内容を読み込み、それを実行しません。あなたは '$ dom-> loadHTML(file_get_contents( 'http://localhost/index.php'))'のようなことをする必要があります。 –