
![]() |
Здравствуйте Гость ( Вход | Регистрация ) |
|
|
|
![]() ![]() ![]() |
![]() |
|
![]() ![]() ХОЧУ СТАТь "ЭКСПЕРТОМ", НО ПОКА НЕ БЛИЖЕ ![]() ![]() ![]() ![]() ![]() ![]() Профиль Группа: Форумчанин ![]() Сообщений: 828 Пользователь №: 26787 На форуме: Карма: 50 Не курю: 14 лет, 5 месяцев, 10 дней ![]() |
хочу посчитат на каком месте стоит в строке кажди подчерkирование, для етого исползую preg_match_all(); но сталкивался с проблемои с кодировкои
если в строке латинские букви, то всо норм preg_match_all("#_#u","d_o_c_",$arr,PREG_OFFSET_CAPTURE); получаем: 1, 3, 5 а если руские букви: preg_match_all("#_#u","д_о_к_",$arr,PREG_OFFSET_CAPTURE); уже резултат такои 1, 5, 8 модификатор u, не помагает, сушествует какоита способ исправит ето ? Спустя 10 часов, 16 минут, 47 секунд (15.11.2011 - 11:40) Winston написал(а): Дело в том, что в юникоде, русские символы занимают от 2 байт, потому тебе и показывает такие позиции... (Хм.. не думал, что в preg_match_all позиция в тексте считается по-байтово) $str = iconv("UTF-8", "WINDOWS-1251", "д_о_к_"); Свернутый текст Array Спустя 18 минут, 23 секунды (15.11.2011 - 11:58) dadli написал(а): спасибо Winston помагал ![]() -------------------- когда чарли чаплин принимал участие в конкурсе: "клон чарли чаплинов", то чарли занимал третю позицию. |
![]() |
![]() ![]() ![]() |