прошу прощения.. немножко неверное регулярное выражение..
так должно быть лучше:
PHP код:
$regexp = '/<a[^h]*href\=[\'"]?([-A-Z0-9+&@#\/%=~_|!:,.;]*)/i';
preg_match_all($regexp, $subject, $result);
foreach ($result as $match) {
$url = $match[1];
/* ... */
}