Сопоставление ссылок изображений, содержащих пробелы

$update = ' sometext http://www.site1.com/images/some image with spaces.jpg some other text http://www.site2.com/some_image.jpg'; preg_match_all('#(?:<\>]+href=\")?(?:http://)?(http(s?)://([^\s]*)\.(jpg|gif|png))#', $update, $group_imagelink); echo $group_imagelink[1][0]; echo $group_imagelink[1][1]; 

Мое регулярное выражение не хочет извлекать ссылку из текста с пробелами. Мне нужно заменить пробелы в ссылке на 20% для использования после copy() , но я все же хочу сохранить текст в пробелах. Как я могу это сделать?

Кроме того, мой код защищен от таких вещей, как http://img.ruphp.com/php/virus.exe ?

Это то, что сработало для меня:

Я заменил

  [^\s]* 

с

  .*?