2016-09-24 107 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