Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html Zend框架dom问题_Html_Zend Framework_Dom - Fatal编程技术网

Html Zend框架dom问题

Html Zend框架dom问题,html,zend-framework,dom,Html,Zend Framework,Dom,我想通过zend_dom查询获得网站快捷图标(favicon)和样式表路径 $dom = new Zend_Dom_Query($html); $stylesheet = $dom->query('link[rel="stylesheet"]'); $shortcut = $dom->query('link[rel="shortcut icon"]'); 样式表查询有效,但快捷方式图标查询无效。我怎么样 谢谢。这似乎是Zend的css样式查询实现的问题。在Zend/Dom/Que

我想通过zend_dom查询获得网站快捷图标(favicon)和样式表路径

$dom = new Zend_Dom_Query($html); 
$stylesheet = $dom->query('link[rel="stylesheet"]');
$shortcut = $dom->query('link[rel="shortcut icon"]');
样式表查询有效,但快捷方式图标查询无效。我怎么样


谢谢。

这似乎是Zend的css样式查询实现的问题。在Zend/Dom/Query.php中,Query函数调用转换函数将查询转换为正确的xpath格式:

public function query($query)
{
    $xpathQuery = Zend_Dom_Query_Css2Xpath::transform($query);
    return $this->queryXpath($xpathQuery, $query);
}
但是在
transform()
方法中,他们似乎使用了一些非常基本的正则表达式来按空格分割字符串:

$segments = preg_split('/\s+/', $path);
这基本上意味着您的
链接[rel=“快捷方式图标”]
查询现在变成两个查询:
链接[rel=“快捷方式”
图标”]

要解决这个问题,可以使用方法
Zend\u Dom\u Query::queryXpath()
,并为其提供适当的xPath查询。像这样:

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