preg_replace, замена строки и числа - PullRequest
0 голосов
/ 20 ноября 2011

Так что это вопрос, связанный с preg_replace, я думаю,

У меня есть строка с несколькими повторяющимися узорами

они все отформатированы как:

some string :22: more text :12: etc

как мне заменить ":" вокруг них на другой символ?

Ответы [ 3 ]

1 голос
/ 20 ноября 2011

Вы можете сделать что-то вроде этого:

$string = 'some string :22: more text :12: etc';
$regex = '/:(\d+):/';
$newString = preg_replace($regex, "@$1@", $string);

Примечание : вам нужно заменить '@' во втором параметре на нужный вам символ (также различные символы до ипосле цифр).

0 голосов
/ 20 ноября 2011

Sbustitude _ для : вокруг чисел:

preg_replace('/:(\d+):/', '_$1_', 'some string :22: more text :12: etc');
0 голосов
/ 20 ноября 2011

РЕДАКТИРОВАТЬ: неправильно понял оригинальный вопрос. Тем не менее, все еще гибкий вариант:

$result = str_replace(":22:", "tag", "some string :22: more text :12: etc");
$result = str_replace(":12:", "other_tag", $result);

Заменить? персонаж с вашим замещающим персонажем.

...