gpt4 book ai didi

javascript - 仅使用 DomDocument 拉取 HREF

转载 作者:搜寻专家 更新时间:2023-10-31 20:37:27 25 4
gpt4 key购买 nike

我想从以下 html 输出中提取 HREF

<div class="course">
<p class="course-data">
<a class="course-name i13n-sec-country i13n-ltxt-meeting i13n-tab-TODO-TAG-TAB" href="/course?courseId=1.2&amp;date=20150713">
Ayr
</a> | SOFT
</p>
<ul>
<li class="full" title="7f 50yds Maiden Stakes | 10 runners">
<a class="i13n-sec-country i13n-ltxt-race i13n-tab-TODO-TAG-TAB" href="/raceresult?raceId=1.2.1150713.1">
09:00
</a>
</li>
<li class="full" title="1m Handicap | 5 runners">
<a class="i13n-sec-country i13n-ltxt-race i13n-tab-TODO-TAG-TAB" href="/raceresult?raceId=1.2.1150713.2">
09:30
</a>
</li>
<li class="full" title="1m2f Handicap | 6 runners">
<a class="i13n-sec-country i13n-ltxt-race i13n-tab-TODO-TAG-TAB" href="/raceresult?raceId=1.2.1150713.3">
10:00
</a>
</li>

但如果调用中包含“种族”一词,我只需要 href 属性——例如,它会拉取此 href

<a class="i13n-sec-country i13n-ltxt-race i13n-tab-TODO-TAG-TAB" href="/raceresult?raceId=1.2.1150713.1">

我自己尝试过,但似乎无法使用 getAttribute('href') 提取 href 并收到错误“在非对象上调用成员函数 item()”

最佳答案

我想这就是你要找的

$dom = new DomDocument;
$dom->loadHtml($html);
$tagList = $dom->getElementsByTagName('a');
foreach ($tagList as $tag) {
// Simple string check, but beware using strstr and utf-8
if(strstr($tag->getAttribute('class'), 'race')) {
echo $tag->getAttribute('href');
}
}

或者你可以使用 SimpleXML

$dom = new DomDocument;
$dom->loadHtml($html);
$xml = simplexml_import_dom($dom);
$tagList = $xml->xpath("//a[contains(@class,'race')]");
foreach ($tagList as $tag) {
var_dump($tag->attributes()['href']);
}

关于javascript - 仅使用 DomDocument 拉取 HREF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31564929/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com