За последние 24 часа нас посетил 16871 программист и 1272 робота. Сейчас ищут 1363 программиста ...

Модификатор u, странный он какой та

Тема в разделе "Регулярные выражения", создана пользователем Sephiroth_Lukaw, 11 май 2008.

  1. Sephiroth_Lukaw

    Sephiroth_Lukaw Активный пользователь

    С нами с:
    26 апр 2008
    Сообщения:
    62
    Симпатии:
    0
    Перевёл свой проект полностью на utf-8, быстренько с помощью поиска нашёл все функции начинающиеся на preg_ и подставил модификатор u, вроде бы по началу всё было ок, но через минут 6 заметил что одно регулярное вырожение стало неправильно работать с русскими симвалами, а именно:
    PHP:
    1.  
    2. <?php
    3. preg_replace_callback("/([[:upper:]])([[:upper:]]+)/u", "Тут Функция Анти-Капс", $text); //Русский капс спокойно пропускает
    4. ?>
    5.  
    Может у меня руки кривые и кто-нибудь мне что-нибудь объяснит?
    P.S.
    Кроме этого регулярного вырожения остальные вроде бы работают
    Под старой кодировкой без модификатора u естественно работает :?
    Все фаилы в utf-8
    P.P.S,
    Про модификатор u узнал из документации по php, больше про него ничего не знаю, а именно
    Добавил через 15 минут:
    Проблему решил заменой [[:upper:]] на свой класс, я думаю тему можно удалить или засунуть в блондинки... :)