我只想选择一个名为.date的类
由于某些原因,我不能让它工作。如果有人知道我的代码出了什么问题,我将不胜感激。
@$doc = new DOMDocument();
@$doc->loadHTML($html);
$xml = simplexml_import_dom($doc); // just to make xpath more simple
$images = $xml->xpath('//[@class="date"]');
foreach ($images as $img)
{
echo $img." ";
}
发布于 2012-01-11 03:04:05
//[@class="date"]
不是有效的xpath。
尝试使用//*[@class="date"]
,或者,如果您知道它是一个图像,可以使用//img[@class="date"]
发布于 2016-03-09 21:33:07
在XPath 2.0中,您可以:
//*[count(index-of(tokenize(@class, '\s+' ), 'foo')) = 1]
正如Christian Weiske在https://cweiske.de/tagebuch/XPath%3A%20Select%20element%20by%20class.htm中所述:
发布于 2012-06-14 00:36:02
HTML允许不区分大小写的元素和属性名称,然后class是由空格分隔的类名列表。在这里,我们使用img
标记和名为date
的class
//*['IMG' = translate(name(.), 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ')]/@*['CLASS' = translate(name(.), 'abcdefghijklmnopqrstuvwxyz', 'ABCDEFGHIJKLMNOPQRSTUVWXYZ') and contains(concat(' ', normalize-space(.), ' '), concat(' ', 'date', ' '))]
https://stackoverflow.com/questions/8808921
复制相似问题