加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

PHP使用DOM解析器获取自定义属性值

发布时间:2020-12-13 16:56:06 所属栏目:PHP教程 来源:网络整理
导读:我使用 simple dom parser进行一些报废但未能获得自定义属性(颜色).我能够让其他人像h3的内心文本那样有价值. 我的dom看起来很简单 article data-color="red"h1Hi /h1/articlearticle data-color="blue"h1Hi 2/h1/articlearticle data-color="gold"h1Hi 3/h1
我使用 simple dom parser进行一些报废但未能获得自定义属性(颜色).我能够让其他人像h3的内心文本那样有价值.

我的dom看起来很简单

<article data-color="red">
<h1>Hi </h1>
</article>
<article data-color="blue">
<h1>Hi 2</h1>
</article>
<article data-color="gold">
<h1>Hi 3</h1>
</article>

我的代码到目前为止

$dom = $html->find('article');

 $arr = array();

foreach ($dom as $data) {
    if(isset($data->find('h3',0)->plaintext)){
        $h3 = $data->find(h3',0)->plaintext;
    }
}

    $arr[] = array(
        "title" => $h3,/* "color" => $color */
    );

echo json_encode(array_values($arr));

解决方法

如果您正在使用数据属性属性,并且因为DOM元素属性被视为该simple-html-dom对象的属性,则只需像往常一样使用大括号处理带连字符的属性:

$object->{'property-with-a-hyphen'}

所以当你在代码中应用它时:

foreach($dom as $data) {

    $color = '';
    if(isset($data->{'data-color'})) {
        $color = $data->{'data-color'};
    }

    // array declarations below
    $arr[] = array(
        'color' => $color,);
}

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读