php 5.4, регулярка и точное вхождение

1 23
LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#21
edogs:
но в php 5.4 (и возможно 5.3 даже, не помним) по умолчанию идет не пустой аргумент, а utf-8

echo setlocale(LC_ALL, 0);

Выводит C

т.е. пустоту.

---------- Добавлено 17.10.2013 в 18:01 ----------

Ladycharm:
http://phpclub.ru/talk/threads/utf8-%D0%B8-preg_replace.52495/#post-452852
В PCRE последовательности (\b, \B, \d, \D, \s, \S, \w, and \W) работают с кодами символов <256 (для повышения производительности).
Использование флага /u решает проблему.

Да при чём тут флаг? Мы говорим, как локалку установить. Если её прописать, то и \b начитает отлично работать. А про UTF-8 и так всё понятно, что с ним всё работает.

---------- Добавлено 17.10.2013 в 18:07 ----------

Вообще есть вариант, что в PHP 5.2.17 это всё таки была политика и в ней если не указана локаль бралась системная. А теперь в 5.3 и выше убрали такую вольность.

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/ ✅ Настройка и оптимизация серверов https://getmanyspeed.ru/
[umka]
На сайте с 25.05.2008
Offline
456
#22

Я заглянул в маны, там написано, что "intl.default_locale" — это для intl-функций. То есть, не для регэкспов :)

Может быть, поможет вот это:

http://php.net/manual/en/locale.setdefault.php

Лог в помощь!
LEOnidUKG
На сайте с 25.11.2006
Offline
1762
#23
'[umka:
;12248113']Я заглянул в маны, там написано, что "intl.default_locale" — это для intl-функций. То есть, не для регэкспов :)
Может быть, поможет вот это:
http://php.net/manual/en/locale.setdefault.php

Пробовал не помогает. НО в любом случаи, где это надо было бы всё прописывать? Правильно в php файле :)

Ладно. Пусть всё это лежит, тут. Мож кто с поиска заглянет.

Легче указать локаль и забыть или использовать utf-8 и не париться.

1 23

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий