2010-01-08 75 views
3

我想網站的快捷方式圖標(圖標)和樣式表的路徑與zend_dom查詢Zend Framework的DOM問題

$dom = new Zend_Dom_Query($html); 
$stylesheet = $dom->query('link[rel="stylesheet"]'); 
$shortcut = $dom->query('link[rel="shortcut icon"]'); 

樣式表的查詢工作,但快捷方式圖標查詢不起作用。我怎樣做?

謝謝。

回答

3

這似乎是Zend的CSS樣式查詢實現的問題。在Zend公司/大教堂/ Query.php,查詢函數調用轉換函數的查詢轉換成正確的XPath格式:

public function query($query) 
{ 
    $xpathQuery = Zend_Dom_Query_Css2Xpath::transform($query); 
    return $this->queryXpath($xpathQuery, $query); 
} 

然而transform()方法中,他們似乎可以用一些非常基本的正則表達式來拆分字符串用空格:

$segments = preg_split('/\s+/', $path); 

現在基本上意味着你link[rel="shortcut icon"]查詢變爲兩個查詢:link[rel="shortcuticon"]

要解決這個問題,你可以使用的方法Zend_Dom_Query::queryXpath()併爲其提供適當的xPath查詢。像這樣:

$dom->queryXpath('//link[@rel="shortcut icon"]');