2011-05-05 3 views
0

예, JavaScript/jQuery를 사용하여이 작업을 수행 할 수 있다는 것을 알고 있지만 PHP를 사용하고 싶습니다. 이 쿼리는 클라이언트의 웹 호스트에 있으므로 queryPath 또는 phpQuery를 설치할 수 없습니다.DOMXpath를 사용하여 본문 ID 가져 오기

기본적으로 나는

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

사용 수정 합니다만,

Fatal error: Using $this when not in object context in blahblahblah on line # 

는 던져 및 $this은 정의되지 않습니다.

기본적으로 내가하려고하는 것은 PHP가있는 동일한 페이지의 본문 값을 가져 오는 것입니다.

아이디어가 있으십니까?

+3

queryPath 및 phpQuery는 설치가 필요 없습니다. PHP 파일 만 포함하면됩니다. 더 구체적으로 말하자면, 객체 지향 코드를 사용하지 않을 때 현재 객체를 참조하는'$ this'를 사용하고있는 것입니다. 아마도'domDocument'가 설정된 곳에서 코드에 대한 더 넓은 맥락을 제공 할 수 있습니다. – lonesomeday

답변

0

그가이 xpath 물건을 더 쉽게 할 수있는 기능을 만들려는 것처럼 보입니다.

뭔가

<?php 
function getElementById($id,$url){ 

$html = new DOMDocument(); 
$html->loadHtmlFile($url); //Pull the contents at a URL, or file name 

$xpath = new DOMXPath($html); // So we can use XPath... 

return($xpath->query("//*[@id='$id']")->item(0)); // Return the first item in element matching our id. 

} 

?> 

처럼 나는 이것을 테스트하지 못했지만, 그것은 바로 대해 보인다.