在Simple HTML dom中使用短划线( - )查找元素

时间:2014-12-05 17:33:02

标签: php simple-html-dom

我用于解析文本简单的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'

似乎需要以其他方式访问带有破折号( - )的元素

2 个答案:

答案 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
    }
}