代码之家  ›  专栏  ›  技术社区  ›  Saif Muhammad Abdul Razzak

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

  •  1
  • Saif Muhammad Abdul Razzak  · 技术社区  · 10 年前

    例如:

    $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;
    }

    这是一个错误响应:

    “注意:在E:…中使用未定义的常量es-假定为‘es’”

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

    1 回复  |  直到 10 年前
        1
  •  0
  •   miguel-svq    10 年前

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

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

    推荐文章