识别 html 个样本中的所有 class 个值

Identifying all class values within a html sample

我在过去的半小时内尝试搜索一种方法,通过它我可以从给定的 HTML 样本中识别所有 class 属性值。我已经能够找到如何通过 class 通过 xpath 查找元素,但无法找到如何从给定输入中获取所有 class 元素值。

目前我的php方法如下:

private function identifyDomClasses( $html )
{
    $classList = array();
    $doc       = new \DOMDocument();

    $doc->loadHTML('<html><body>'. $html .'</body></html>');

    $xml       = simplexml_import_dom($doc);

    // Code to identify all class attributes and push them onto the $classList array

    return $classList;
}

我宁愿不使用正则表达式,但如果 xpath 无法做到这一点,我会改用这条路线。

怎么样:

//@class

它将为您提供所有 class 属性。然后你可以遍历它们并对它们做一些事情,比如打印出来。由于返回了一组属性节点,您仍然可以访问包含该属性的父元素。