我用于解析文本简单的html dom,但他无法管理这种访问div。
foreach($html->find("div") as $div)
{
if($div->data-zoom-image != false)
// some job
}
错误日志:
Use of undefined constant data - assumed 'data'
Use of undefined constant zoom - assumed 'zoom'
Use of undefined constant image - assumed 'image'
似乎需要以其他方式访问带有破折号( - )的元素
答案 0 :(得分:8)
使用{''}
包含短划线的属性foreach($html->find("div") as $div)
{
if($div->{'data-zoom-image'} != false)
// some job
}
您也可以使用此方法。
foreach($html->find("div") as $div)
{
$property = 'data-zoom-image';
if($div->$property != false)
// some job
}
答案 1 :(得分:0)
可以使用getElementByTagName。例如:
foreach($html->find("div") as $div)
{
if($div->getElementByTagName('data-zoom-image') != false){
// some job
}
}