Модераторы: Aliance, skyboy, MoLeX, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> "регулярка" некорректно работает с UTF-8, "корёжит" символы 
V
    Опции темы
skyboy
Дата 23.9.2006, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 8
Всего: 260



относительно простое регулярное выражение(кодировка кирилицы, да и всего файла - UTF8):
Код

<?php
echo preg_replace("/^(.)([^\/]{0,})/","$1","Часть строки/50/50");
?>

с логикой "заменить всю строку до слеша первым её символом" возвращает вот такое вот(кодировка в браузере - UTF-8):
Код

Я50/50

Кто б мне обьяснил, почему так, если должно(я рассчитываю) быть так:
Код

Ч/50/50

Что я упустил?
PM MAIL   Вверх
vasac
Дата 24.9.2006, 12:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1060
Регистрация: 4.5.2006

Репутация: 1
Всего: 36



Модификатор "u" упустил.
PM WWW   Вверх
skyboy
Дата 24.9.2006, 14:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


неОпытный
****


Профиль
Группа: Модератор
Сообщений: 9820
Регистрация: 18.5.2006
Где: Днепропетровск

Репутация: 8
Всего: 260



большое спасибо, vasac! И правда, упустил smile 
Тем, кто насутпит на те же грабли, хочу дать предостережение: если в строке шаблона или строке-источнике будут некорректные с точки зрения кодировки utf-8 символы, то шаблон не совпадёт в любом случае(даже если этот символ не будет критическим для сравнения строки), причём никакого сообщения об ошибке/предупреждения я не дождался. Так что следите внимательно за строками!

PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Тексты | Следующая тема »


 




[ Время генерации скрипта: 0.2712 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.