2011-01-05 16 views
-1

PHPでDOMDocumentクラスを使用してHTMLファイルを解析しようとしています。今私はこれが動作しないphp DOMDocumentクラスのIDで要素を取得するには?

print_r($document->getElementById("myparagraph")); 

IDでp要素を取得するには、この方法を試してみてください
サンプルHTMLファイルが

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en"> 
    <head> 
     <title></title> 
    </head> 
    <body> 
     <p id="myparagraph"></p> 
    </body> 
</html> 

であると私は

$document = new DOMDocument(); 
$document->loadHtmlFile("page.html"); 

を使用してそれをロード何らかの理由で。それで何が悪いですか?

+2

DOCTYPEはありますか?そうでない場合は、常にNULLを返します。 –

+0

エバンは働いた!ありがとうございます:D、doctypeを追加しましたが、正しく動作しています。 – Lettuce

答えて

1

PHP documentationのコメントによると、getElementByIdはそれほどうまく機能しません。 PHPのドキュメント上のコメントで情報を掲示誰paradox_hazeのおかげで

function getElementById($id) 
{ 
    $xpath = new DOMXPath($this->domDocument); 
    return $xpath->query("//*[@id='$id']")->item(0); 
} 

:あなたにできることはこれに似た独自の関数を作成することです。

関連する問題