以下是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。 我该如何编辑该模式?
答案 0 :(得分:0)
您的意思是说如果<span>
和<a>
之间出现</a>
标记,您是否希望它出现在输出中?
如果是这样,在正则表达式中没有简单的方法,但在打印之前,您可以在每个$link
上使用strip_tags()之类的函数。
顺便说一句,一个可能适合您目的的简单模式是/<a .*?<\/a>/
。