Замена с использование регулярных выражений.

Pustota

Новичок
Замена с использование регулярных выражений.

Народ, подскажите. Есть текст. В нем надо заменить все слова, обрамленные символом "подчеркивание" ("_") на другое слово (например, "censored").
Как это сделать в цикле и с применением регулярных выражений?
Нужно именно в цикле, так как возможно потом придется не на одно слово менять, а на много. То есть censored1, censored2 и т.д., сколько найдется таких слов, обрамленных "_".
Помогите, а то в регулярных не силен. Заранее спасибо.

-~{}~ 27.08.07 15:26:

Или как мне все слова с "_" в массив по порядку посчитать в тексте?
 

Pustota

Новичок
Что-то с preg_replace_callback мудрено очень.
подскажите, почему, когда я делаю:
Код:
ereg("_[[:alpha:]]+_", $message, $regs);
Мне в $regs возращается только одно первое найденное слово, обрамленное подчеркиванием?
Код:
Array
(
    [0] => _username_
)
 

kruglov

Новичок
Pustota
А зачем мне подсказывать, если вы деляете как-то непонятно. Вот попытайтесь сделать, как я предложил, тогда и подскажу, может быть.

-~{}~ 27.08.07 16:08:

принцип preg_replace_callback очень прост - он запускает функцию на каждую замену. Пишете свою функцию, она получает на вход то, что заменять надо - и вперед. Считаете там сами номер (хоть в глобале каком-нить) и т.д.
 
Сверху