2016-09-24 115 views
1

我想使用xPath獲取頭部元素的內容。Php xpath只獲取頭部

//some curl request 
$result = curl_exec($ch); 
if (curl_errno($ch)) { 
    echo 'Error:' . curl_error($ch); 
} 
curl_close ($ch); 

$DOM = new DOMDocument; 
libxml_use_internal_errors(true); 
if (!$DOM->loadHTML('<?xml encoding="utf-8" ?>' . $result)) { 
    $errors = ""; 
    foreach (libxml_get_errors() as $error) { 
     $errors .= $error->message . "<br/>"; 
    } 
    libxml_clear_errors(); 
    print "libxml errors:<br>$errors"; 
    return; 
} 
$xpath = new DOMXPath($DOM); 
$head = $xpath->query('//*["head"]')->item(0); // Any suggestions? 

正如標題所述,我使用PHP試圖提取curl中的任何內容。任何建議,歡迎。

+0

你想訪問'head'標籤嗎? – segFault

+0

我需要和之間的一切 – JFourie

+0

只是要清楚,我並不是指標題響應。簡單的內容是什麼在 – JFourie

回答

0

如果你的捲曲的反應是預期和一切,直到你的XPath是好的,那麼嘗試:

$head = $xpath->query('/head/*'); 
foreach ($head as $headElement) { 
    /* DO STUFF*/ 
} 

你也可能不需要添加<?xml encoding="utf-8" ?>到結果的開始。

+0

$ head = $ xpath-> query('/ head/*'); var_dump($ head); foreach($ head as $ headElement){ echo $ headElement-> textContent; } $ head仍爲空。 – JFourie

+0

你確定'$ result'不是空的嗎?如in所示,它不是布爾值,幷包含您假定它具有的XML字符串。 – segFault

+0

$ head = $ xpath-> query(「// * ['head']」);作品! – JFourie