Regex не возвращает никаких совпадений независимо от используемого выражения

Хорошо, вот проблема, я пытался создать скрипт cURL для проверки мертвых ссылок в базе данных. Все ссылки выглядят примерно так: http://www.ltblekinge.se/download/18.9c16a31109c04a3e880003750 . Проблема, которая у меня есть, заключается в том, что не существует никакого шаблона regex, который я использую $url_list остается пустым. Любая помощь будет оценена!

Проблемная часть кода

 <?php /*Config*/ /*** mysql hostname ***/ $hostname = 'localhost'; /*** mysql username ***/ $username = 'root'; /*** mysql password ***/ $password = 'root'; /*curl setup of varibles*/ $excluded_domains = array( 'localhost', 'rollnstroll.se'); $max_connections = 10; $url_list = array(); $working_urls = array(); $dead_urls = array(); $not_found_urls = array(); $active = null; try { $dbh = new PDO("mysql:host=$hostname;dbname=blankett", $username, $password); $dbh->exec('SET CHARACTER SET utf8'); $dbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); /*** fetch into an PDOStatement object ***/ $sql = "SELECT * FROM `forms2`"; $stmt = $dbh->prepare("SELECT * FROM forms2"); $stmt->execute(); while ($d = $stmt->fetchAll()) { if (preg_match_all('/((([A-Za-z]{3,9}:(?:\/\/)?)(?:[-;:&=\+\$,\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\+\$,\w]+@)[A-Za-z0-9.-]+)((?:\/[\+~%\/.\w-_]*)?\??(?:[-\+=&;%@.\w_]*)#?(?:[.\!\/\\w]*))?)/', $d['link_forms'], $matches)) { /***error code***/ if (preg_last_error() == PREG_NO_ERROR) { print 'There is no error.'; } else if (preg_last_error() == PREG_INTERNAL_ERROR) { print 'There is an internal error!'; } else if (preg_last_error() == PREG_BACKTRACK_LIMIT_ERROR) { print 'Backtrack limit was exhausted!'; } else if (preg_last_error() == PREG_RECURSION_LIMIT_ERROR) { print 'Recursion limit was exhausted!'; } else if (preg_last_error() == PREG_BAD_UTF8_ERROR) { print 'Bad UTF8 error!'; } else if (preg_last_error() == PREG_BAD_UTF8_ERROR) { print 'Bad UTF8 offset error!'; } foreach ($matches[1] as $url) { // exclude some domains $tmp = parse_url($url); if (in_array($tmp['host'], $excluded_domains)) { continue; } // store the url $url_list []= $url; } } } // remove duplicates $url_list = array_values(array_unique($url_list)); if (!$url_list) { die('No URL to check'); } } catch(PDOException $e) { echo $e->getMessage(); } 

Структура БД

 1 id int(10) No None AUTO_INCREMENT 2 master_id int(10) No None 3 name_form varchar(500) latin1_swedish_ci No None 4 link_form varchar(500) latin1_swedish_ci No None 5 date_added timestamp No CURRENT_TIMESTAMP 

Вопрос: Почему $url_list emtpy?