我不知道我做错了什么。每次它通过它只是保持循环,并拉动在同一行中列出的所有城市,并将它们与状态,然后当它进入下一个状态,它开始在正确的地方,但仍然继续。我已经尝试了4个小时,但我无法弄清楚。PHP - 无限循环的问题
$url = 'http://www.craigslist.org/about/sites';
$output = file_get_contents($url);
$doc = new DOMDocument();
libxml_use_internal_errors(true); //Supress Warnings for HTML5 conversion issue
$doc->loadHTML($output);
libxml_use_internal_errors(false); //Start Showing Errors
$xpath = new DOMXpath($doc);
foreach ($xpath->query('//h1') as $e) {
$country = $e->nodeValue;
$list = array();
foreach ($xpath->query('./following-sibling::div[@class="colmask"]', $e) as $li) {
foreach ($xpath->query('//div/h4', $e) as $div) {
$state = $div->nodeValue;
foreach ($xpath->query('./following-sibling::ul/li', $div) as $div2) {
$href = $div2->getAttribute("href");
$text = trim(preg_replace("/[\r\n]+/", " ", $div2->nodeValue));
echo 'Country: ' . $country . ' State: ' . $state . ' CITY: text['. $text . '] href[' . $href . '] <br/><br/><br/>';
}
}
}
}
4嵌套'foreach' loops..wohoo .. – 2014-11-23 08:17:53
我没有不知道该怎么做......这些元素都在彼此之外,我需要在城市的循环顶部抓取两个不同的“标题”。 – eqiz 2014-11-23 08:19:02
您是否尝试过有限的样本数据以查看样本集是否出现无限循环?例如,有一组美国,阿拉巴马州和城市,只是看看结果如何? – Adib 2014-11-23 08:21:14