Это, похоже, проблема с реализацией запросов в стиле Zend в стиле css. В Zend / Dom / 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="shortcut
и icon"]
Чтобы обойти это, вы можете использовать метод Zend_Dom_Query::queryXpath()
и предоставить ему правильный запрос xPath. Как это:
$dom->queryXpath('//link[@rel="shortcut icon"]');