html-Zend Framework dom问题

前端之家收集整理的这篇文章主要介绍了html-Zend Framework dom问题 前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我想使用zend_dom查询获取网站快捷方式图标(图标)和样式表路径

$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中,查询函数调用转换函数以将查询转换为正确的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 and icon”]

解决此问题,可以使用方法Zend_Dom_Query :: queryXpath()并为其提供适当的xPath查询.像这样:

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

猜你在找的HTML相关文章