У меня скрипт PHP 5.3 , отображающий пользователей моего веб-сайта, и я хотел бы заменить определенный русский город (хранящийся в UTF8 в базе данных PostgreSQL 8.4.7 + CentOS 5.5 / 64 бит Linux) его старое имя (это инсайдерская шутка):
preg_replace('/Волгоград/iu', 'Сталинград', $city);
К сожалению, это работает только для точных совпадений: Волгоград .
Это не работает для других случаев, таких как ВОЛГОГРАД или волгоград .
Если я изменю свой исходный код на
preg_replace('/[Вв]олгоград/iu', 'Сталинград', $city);
тогда он поймает второй случай выше.
Кто-нибудь знает, что происходит и как это исправить (при условии, что я не хочу писать [Xx] для каждое письмо)?
Спасибо!
Alex
UPDATE:
# rpm -qa|grep php
php53-bcmath-5.3.3-1.el5
php53-gd-5.3.3-1.el5
php53-common-5.3.3-1.el5
php53-pdo-5.3.3-1.el5
php53-mbstring-5.3.3-1.el5
php53-xml-5.3.3-1.el5
php53-5.3.3-1.el5
php53-cli-5.3.3-1.el5
php53-pgsql-5.3.3-1.el5
# rpm -qa|grep pcre
pcre-6.6-2.el5_1.7