Пример:
$content = "{one} {two} {one}";
$content = preg_replace("/{.*?one.*?}/", "one_text", $content);
Результат:
one_text one_text
Проблема:
Моя регулярка заменяет "{two} {one}" на one_text.
Нужно:
- пропускать {two}, т.е. окончательный результат должен быть one_text {two} one_text
- рассчитать так, чтобы в следующей замене можно было таким же способом заменить {two} на произвольный текст
Примечание:
".*?" использовано потому, что в исходном тексте между "{" и "one" и "}" могут быть любые символы (причем, может и ничего не быть), так же между "}" и "{" тоже могут быть любые символы
Скриншот: