Так что это вопрос, связанный с preg_replace, я думаю,
У меня есть строка с несколькими повторяющимися узорами
они все отформатированы как:
some string :22: more text :12: etc
как мне заменить ":" вокруг них на другой символ?
Вы можете сделать что-то вроде этого:
$string = 'some string :22: more text :12: etc'; $regex = '/:(\d+):/'; $newString = preg_replace($regex, "@$1@", $string);
Примечание : вам нужно заменить '@' во втором параметре на нужный вам символ (также различные символы до ипосле цифр).
Sbustitude _ для : вокруг чисел:
_
:
preg_replace('/:(\d+):/', '_$1_', 'some string :22: more text :12: etc');
РЕДАКТИРОВАТЬ: неправильно понял оригинальный вопрос. Тем не менее, все еще гибкий вариант:
$result = str_replace(":22:", "tag", "some string :22: more text :12: etc"); $result = str_replace(":12:", "other_tag", $result);
Заменить? персонаж с вашим замещающим персонажем.