如何使用curl获取链接,但不包括span,样式等

时间:2012-04-21 11:02:39

标签: curl preg-match preg-match-all web-crawler

以下是curl中仅解析网站链接的代码(包括所有参数,如span,style):

if(preg_match_all('/<a.*?href="(.*?)".*?>(.*?)<\/a>/si',$result,$parts))
{

    $links=$parts[0];

    foreach($links as $link)
    {
        echo $link."<br>";
    }
    curl_close($ch);
}

但我想从标签中排除span,style。 我该如何编辑该模式?

1 个答案:

答案 0 :(得分:0)

您的意思是说如果<span><a>之间出现</a>标记,您是否希望它出现在输出中?

如果是这样,在正则表达式中没有简单的方法,但在打印之前,您可以在每个$link上使用strip_tags()之类的函数。

顺便说一句,一个可能适合您目的的简单模式是/<a .*?<\/a>/