[英]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.