Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Тексты > Регулярные выражения


Автор: semnt 19.12.2005, 09:12
Подскажите, как мне организовать вот такую вот замену (ессно, с помощью регулярных выражений):
В строке все буквы "а" нужно заменить на буквы "б", но если в строке перед очередной буквой "а" (именно предыдущий символ) стоит символ "|", то замена не должна происходить. Примеры:
1) "абвгдабвгд" = > "ббвгдббвгд"
2) "абвгд|абвгдабвгд" => "ббвгд|абвгдббвгд"
2) "абвг|дабвгдабвгд" => "ббвг|дббвгдббвгд"

Пасиба.

Автор: Ciber SLasH 19.12.2005, 10:34
Код
preg_replace("/\w?а/", "б", $str);

Автор: semnt 19.12.2005, 17:03
Ciber SLasH, проверяли прежде чем отправлять?)

Автор: AztEK 19.12.2005, 18:23
semnt проверяли в тот ли раздел постили?
Есть отдельный раздел "Регулярные выражения"!

Автор: Ciber SLasH 19.12.2005, 18:28
Цитата(semnt @ 19.12.2005, 17:03)
Ciber SLasH, проверяли прежде чем отправлять?)

Сори, поспешил...

Вот, проверил:
Код
echo preg_replace("/(^а|[^|]а)/e", "str_replace('а', 'б', '\\1')", $str);

Автор: semnt 19.12.2005, 19:33
AztEK, сори...
Ciber SLasH, пасиба)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)