$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]*
с
.*?