Пример:
https://www.google.com/image.png
становится
Код: Выделить всё
[img]https://www.google.com/image.png[/img]
Код: Выделить всё
$patterns = array (
'~https?://\S+?(?:png|gif|webp|jpe?g)~'
);
$replace = array (
'
[img]$0[/img]
'
);
$string = preg_replace($patterns, $replace, $string);
Это прекрасно работает, если только на изображении нет вопросительного знака. в нем... т.е.
https://www.google.com/image.png?123456
В данном случае вопрос метка и все, что после нее не будет совпадать... вот и заканчиваем с:
Код: Выделить всё
[img]https://www.google.com/image.png[/img]
?123456
Подробнее здесь: https://stackoverflow.com/questions/793 ... hing-after