繁体   English   中英

简单的 html dom 解析器 - 在属性中查找值

[英]Simple html dom parser - find value in attribute

<div class="bk-cell-wrapper">
<div class="bk-timetable-cell">
div class="day-item-hover" data-detail="{**value i want to find**}" >BlaBlaBlabLa</div>
</div>
</div>

从这种重复多次的模式中,我想提取所有具有“数据详细信息”属性的 div。 我用这段代码做到了:

$html = file_get_html($url);
  foreach($html->find('div[data-detail]') as $element )
  echo $element

现在我想从变量 $element 中提取属性“data-detail”中的值,我在其中存储每个 div,其中包含 attr“data-detail”

查看源代码: https://oa-poruba.bakalari.cz/Timetable/Public/Actual/Class/WV

你可以这样做:

$html = file_get_html($url);
$myDiv = $html->find('div[data-detail]');
  foreach($myDiv as $element ) {
    echo $element->getAttribute('data-detail');
  }

你可以使用这个 package php-html-parser

并像这样得到你想要的:

require "vendor/autoload.php";
use PHPHtmlParser\Dom;

$dom = new Dom;
$dom->loadStr('<div class="all"><p>Hey bro, <a href="google.com">click here</a><br /> :)</p></div>');
$a = $dom->find('a')[0];
echo $a->text; // "click here"

并且还得到这样的属性:

// Assuming you installed from Composer:
require "vendor/autoload.php";
use PHPHtmlParser\Dom;

$dom = new Dom;
$dom->loadFromFile('tests/data/big.html');
$contents = $dom->find('.content-border');
echo count($contents); // 10

foreach ($contents as $content)
{
    // get the class attr
    $class = $content->getAttribute('class');
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM