php - 使用 PHP DOM 解析 HTML - 类包含文本

标签 php html dom xpath domxpath

我有一组要解析的 html 项目。我需要解析类名以“uid-g-uid”结尾的 div 的内容。以下是示例 div...

<div class="uid-g-uid">1121</div>

<div class="yskisghuid-g-uid">14234</div>

<div class="kif893jduid-g-uid">114235</div>

我已经尝试了以下组合但没有奏效

$doc = new DOMDocument();
$bdy = 'HTML Content goes here...';
@$doc->loadHTML($bdy);
$xpath = new DomXpath($doc);
$div = $xpath->query('//*[@class=ends-with(., "uid-g-uid")]');

也尝试过

$doc = new DOMDocument();
$bdy = 'HTML Content goes here...';
@$doc->loadHTML($bdy);
$xpath = new DomXpath($doc);
$div = $xpath->query('//*[@class="*uid-g-uid"]');

请帮忙!

最佳答案

ends-with() 需要 Xpath 2.0,因此它不能与 Xpath 1.0 的 DOMXPath 一起使用。 像这样的东西应该可以工作:

$xpath->query('//*["uid-g-uid" = substring(@class, string-length(@class) - 8)]');

关于php - 使用 PHP DOM 解析 HTML - 类包含文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15901584/

相关文章:

javascript - 向 Internet Explorer 中的所有 HTML 元素和文档对象添加方法

php - 仅在第一个结果中显示/隐藏 mysql 结果函数

javascript - 连续两个 XMLHttpRequest

phpunit 抛出未捕获的异常'PHPUnit_Framework_Exception

php - Encrypter.php 中未定义函数 openssl_encrypt()

javascript - 我如何在单个选择上存储两个信息并在单独的文本框 HTML/JS 中调用它们

html - 如何让文本刷新到表格单元格的顶部/底部

css - 让 div 并排坐在响应式站点中

javascript - Jquery width $(el).width() 似乎在这里失败

javascript在循环内悬停href时获取参数