Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有split()的PHP简单HTML DOM解析器问题_Php_Html_Dom_Parsing_Split - Fatal编程技术网

带有split()的PHP简单HTML DOM解析器问题

带有split()的PHP简单HTML DOM解析器问题,php,html,dom,parsing,split,Php,Html,Dom,Parsing,Split,我想使用在我的网站上显示我所有的Left4Dead Steam成就。steam社区网站上的成就列表如下所示: <img src="…" /><br /> <div class="achieveImgHolder"><img src="…" /></div> <div class="achieveTxtHolder"> <img src="…" /> <div class="achieveTxt">

我想使用在我的网站上显示我所有的Left4Dead Steam成就。steam社区网站上的成就列表如下所示:

<img src="…" /><br />
<div class="achieveImgHolder"><img src="…" /></div>
<div class="achieveTxtHolder">
 <img src="…" />
 <div class="achieveTxt">
  <h3>Stand Tall</h3>
  <h5>Survive a campaign without being incapacitated.</h5>
 </div>
</div>
<br clear="left" />
这里到底出了什么问题?

改变

$actives->find(".achieveTxtHolder", 0)


指定0只返回第一个匹配项,而不是可编辑的匹配项列表;由于您使用的是
foreach
,因此需要所有出现的情况。否则,
foreach
会尝试迭代非列表的内容,因此,
$Achization
变量实际上是空的,因此当您尝试在其上调用
->find()
时会出现错误。

感谢您的快速回答。我按照您的建议更改了脚本,但它一直遇到相同的错误。您是否尝试过转储
$activeInactiveSplit[0]
$activeInactiveSplit[1]
(通过类似于
print\r($activeInactiveSplit)的内容)
看看它们是否符合你的期望?同样,试着把你从第一次
find()
电话中得到的东西倒出来,看看它是否符合你的期望。@Snopey,请点击复选框接受Dav的回答,谢谢。耐心等待,问题似乎还没有完全解决。@Snopey:如果你
print\r怎么办($actives->find(“.achieveTxtHolder”)
<?php
include("simple-html-dom-parser.php");
$achievementPage = file_get_html("http://steamcommunity.com/id/snorpey/stats/L4D?tab=achievements");
$activeInactiveSplit = split("<br /><br /><br />", $achievementPage);
$actives = str_get_html($activeInactiveSplit[0]);
$inactives = str_get_html($activeInactiveSplit[1]);

foreach($actives->find(".achieveTxtHolder") as $achievement)
{
 echo $achievement->find(".achieveTxt h3", 0)->innertext;
}
?>
echo $actives // works w/out errors
$actives->find(".achieveTxtHolder", 0)
$actives->find(".achieveTxtHolder")