0
我试图获得“A”从网页中的广告代码的URL的如何获得URL的所有标记“的”从网页(PHP)?我的代码工作不如预期
例如
$text = file_get_contents ('http://stackoverflow.com/');
$preg = '/<a.+?href=(http:\/\/\w+?\..+?).*?>.+?<\/a>/';
preg_match_all($preg,$text,$result);
echo '<pre>';
print_r($result['1']);
echo '</pre>';
后,我认为在href =也许“...”或“...”,所以更改正则表达式
'/<a.+?href=[\'"](http:\/\/\w+?\..+?)[\'"].*?>.+?<\/a>/';
我找到了传输协议也许HTTP或HTTPS,我改变了对正则表达式
'/<a.+?href=[\'"](https?:\/\/\w+?\..+?)[\'"].*?>.+?<\/a>/';
但它仍然没有像预期的那样工作。
'$ HTML = <<< 'HTML' <一个href =“#”onclick =“javascript:return false;”> HTML;'如果标签a有JavaScript或'#',有没有办法过滤它们? – hlfshy
问题本身就会回答。阅读元素的'href'和'onclick'属性。 – Sherif
对不起,我的英文不好。我的意思是,使用你的代码,'和',他们都会输出,但我想得到最后一个,只有获得网址。也许可以使用一些正则表达式或其他东西来区分url?网页上的'href'总是有很多类型,它使我疯狂选择url,我花了很多时间写正则表达式。 – hlfshy