简单的dom php parse 获取自定义数据属性值

use*_*921 4 php simple-html-dom

HTML:

<div class="something" data-a="abc">ddsf</d>
Run Code Online (Sandbox Code Playgroud)

PHP:

foreach ($dom->find('.something[data-rel]') as $this) {
    var_dump($this->attr());
}
Run Code Online (Sandbox Code Playgroud)

我试过这个但错误。在其文档中找不到任何信息。我想获得data-aabc 的值。

use*_*918 6

为什么不直接使用文档齐全的内置DOM 扩展

例子:

$html = '<div class="something" data-a="abc">ddsf</div>';

$dom = new DOMDocument();
$dom->loadHTML($html);
$xpath = new DOMXPath($dom);

$nodes = $xpath->query('//div[@class="something"]/@data-a');
foreach ($nodes as $node) {
    var_dump($node->value);
}
Run Code Online (Sandbox Code Playgroud)

输出:

string(3) "abc"
Run Code Online (Sandbox Code Playgroud)


dmi*_*kam 1

使用xpath

应该是这样的:

foreach ($dom->xpath('/div[@data-a]') as $item) {
    ...
}
Run Code Online (Sandbox Code Playgroud)