php の preg_match_all でテキストから URL抽出

正規表現手抜き過ぎ?
 $urllist = array();

 if( preg_match_all('/https?:\/\/[a-zA-Z0-9\-\.\/\?\@&=:~#]+/', $text, $matchs) !== FALSE){
  foreach ($matchs[0] as $line){
   $urllist[] = $line;
  }
 }

コメント