PHP echo工作,但preg_match不起作用

时间:2012-10-16 18:16:33

标签: php curl

//我做了一些更改但是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;
}

2 个答案:

答案 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 删除它。卷曲效果非常好