НЕ ИСПОЛЬЗОВАТЬ REGEX! Использовать синтаксический анализатор XML ...
$dom = DOMDocument::loadHTMLFile($pathToFile);
$finder = new DOMXpath($dom);
$anchors = $finder->query('//a[@href]');
foreach($anchors as $anchor){
$href = $anchor->getAttribute('href');
if(preg_match($regexToMatchUrls, $href)){
//do stuff
}
}
Так что $regexToMatchUrls
будет регулярным выражением jsut, чтобы соответствовать URL-адресам, которые вы ищете ... а не любому html, что намного проще - тогда вы можете предпринять действия, когда совпадение произойдет.