如何使用 html DOM 和该属性中的“-”解析用户定义的 html 属性?

How to parse user defined html attributes using html DOM with '-' in that attribute?

例如:

$html = "<div title='test a' class='a' classes='testing custom attribute with -' >test a</div>
         <div title='test b' class='b' >test b</div>
         <div title='test c' class='c' >test c</div>";

$htmldom = str_get_html($html);
$ab = $htmldom->find("div[class=a]");
foreach($ab as $e){
 echo $e->classes;
}

这给我的响应如下:“正在使用 - 测试自定义属性”

但是当我在自定义属性中放置“-”时,例如:

$html = "<div title='test a' class='a' class-es='testing custom attribute with -' >test first</div>
         <div title='test b' class='b' >test b</div>
         <div title='test c' class='c' >test c</div>";

$htmldom = str_get_html($html);
$div_a = $htmldom->find("div[class=a]");
foreach($div_a as $e){
 echo $e->class-es;
}

这是响应错误:

"Notice: Use of undefined constant es - assumed 'es' in E:..."

任何帮助将不胜感激...提前致谢。

似乎 php。 http://php.net/manual/en/sdo.sample.getset.php

不要使用对象属性访问语法,使用数组索引方式:$e['class-es'] (...也许 ->{'class-es'} 也可以)