Помогите с регулкой

master_jeday
На сайте с 15.05.2010
Offline
231
545

Нужно заменить в строке, содержащей <img, все плюсы на пробелы.

Частично осилил.

<img(.*?)(\+)

на:

<img\1%20

Но меняет только до первого +. А как сделать, чтобы все + менялись?

Дорвеи на заказ с гарантией трафика ( /ru/forum/993918 ) >>> Осторожно, в телеге/скайпе есть клоны! Проверяйте, что общаетесь именно со мной через личку!
Samail
На сайте с 10.05.2007
Offline
361
#1

Во всей строке?

if (strpos($string, '<img') !== false) {preg_replace("~\+~", " ", $string);}

J
На сайте с 20.02.2014
Offline
120
jkm
#2

preg_replace('/(?:<img|\G(?!\A))[^+>]*\K\+/i', '%20', $str);

https://regex101.com/r/4xYQfE/1

master_jeday
На сайте с 15.05.2010
Offline
231
#3

Всем спасибо!

jkm, понять бы еще ее )

Апокалипсис
На сайте с 02.11.2008
Offline
391
#4
master_jeday:
jkm, понять бы еще ее )

А на том сайте что вам дал товарищ jkm все и расписано: http://prntscr.com/j6w49n

Записки нищего (http://zapiskinishego.ru) - мой личный блог Услуги php программиста. Очень нужна любая работа. Не покупают? Поведенческий аудит интернет-магазина за 5000 руб. (/ru/forum/990312)
S
На сайте с 30.09.2016
Offline
469
#5
Апокалипсис:
все и расписано

А я вот, например, никак не въеду в смысл инструкции G(?!\A) :(

Вот растолкуйте мне, что это в реале означает.

Отпилю лишнее, прикручу нужное, выправлю кривое. Вытравлю вредителей.

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий