我有這樣的代碼PHP修復GET格
function innerHTML($element)
{
$innerHTML = '';
$children = $element -> childNodes;
foreach ((array)$children as $child)
{
$tmp_dom = new DOMDocument();
$tmp_dom -> appendChild($tmp_dom -> importNode($child, true));
$innerHTML .= trim($tmp_dom -> saveHTML());
}
return $innerHTML;
}
function DOMGet($html, $class, $num = 0, $type = "class")
{
$dom = new DOMDocument('1.0', 'utf-8');
@$dom -> loadHTML($html);
$xpath = new DOMXPath($dom);
$q = '//div[@'.$type.'="'.$class.'"]';
if(is_numeric($num))
{
$arr = $xpath -> query($q);
$arr = $arr -> item($num);
return innerHTML($arr);
}
else if(strtoupper($num) == "ALL")
{
$arr = $xpath -> query($q);
$abs = array();
foreach($arr as $el) $abs[] = innerHTML($el);
return $abs;
}
return false;
}
不過,這並不當我嘗試調用標籤在所有的工作,有時(例如類=「測試」)不什麼都顯示!有人可以修復代碼?
請提供的情況下,這並不工作,到底發生了什麼一個完整的例子。 –
Pekka的權利..沒有一個完整的例子,有點太難以分辨什麼是壞的。但是,錯誤抑制運算符('@ $ dom =')在我眼中是一個潛在的問題。 –
請不要在Stack Overflow上重複提問。謝謝。 – Kev