//我做了一些更改但是preg_match函数不起作用并且回显工作。我无法理解有什么不对。我疯了
public function crawl()
{
$html = $this->getPageHTMLContent($this->getDomain().$this->entryPagePath);
$categoryPageDom = $this->getHtmlDom($html);
echo $categoryPageDom->find('div#pagination a.gh', 1)->attr['href'];
preg_match("/\?p=(.*)&q/", $categoryPageDom->find('div#pagination a.gh', 1)->attr['href'], $machtes);
var_dump($machtes);
}
public function getPageHTMLContent($url){
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$contents = curl_exec ($ch);
curl_close ($ch);
return $contents;
}
答案 0 :(得分:1)
尝试从curl_download返回一个值,没有return
语句
答案 1 :(得分:0)
问题与URL有关当我制作echo $ categoryPageDom-> find('div#pagination a.gh',1) - > attr ['href'];我在浏览器上得到了这样的http://www.xxxx.de/xxxxxxxxxxxxxxx=iw&artikel=101&detail=mak。但是当我看到源代码时,它看起来像http://www.xxxx.de/xxxxxxxxxxxxxxx=iw& * amp; * artikel = 101& * amp; * detail = mak问题是 amp; 我使用 str_replace 删除它。卷曲效果非常好