Как заменить все вхождения начала и конца строки шаблоном в php - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть эта строка:

[image: alfa-romeo-giulia-quadrifoglio-2017-01.jpg]\r\n[image: downloadwww.jpg]\r\n\r\n\r\nEmail content With 2 Inline Attachments and 2 another attachments.\r\nTo : me \r\nBcc and Cc : me\r\n

Я хочу заменить этот шаблон в любом месте строки:

[image: .....]

Я использую

preg_match_all('/\[image:\](.*?)\=(.*?)\]\]/s', $input, $matches);

ЭтоКод возвращает пустой массив.Пожалуйста, помогите мне заменить все вхождения.

1 Ответ

0 голосов
/ 19 сентября 2018

preg_match_all извлекает строки из большой строки, и для замены вам нужно использовать preg_replace.

Ваша строка не содержит ]], ни = char.

Вы можете использовать

preg_replace('/\[image:[^]]*]/', '', $input)

См. PHP демо

Шаблон \[image:[^]]*] соответствует

  • \[image: - [image: подстрока
  • [^]]* - ноль или более символов, отличных от ]
  • ] - a ]символ.
...