[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: помощь с кодировкой при preg_replace
zeromind
написал такую регулярку(суть, вырезать все лишние символы, кроме алфавита/цифр и пробела):
header("Content-Type: text/html; charset=utf-8");
$title = 'shEll шеЛлAa1%3 !!(4)';
$title = preg_replace('#[^а-яa-z0-9 ]*#is', '', $title);
print_r($title);


php файл сам в utf без БОМ..
выводится следующее :
shEll �е�лAa13 4

почему буква ш и Л заменились вопросами?

если добавляю в регулярку модификатор - u (utf8) -
shEll ����Aa13 4 совсем первые 4 буквы кириллицы заменились вопросами..
что делать то ? )



Спустя 1 час, 49 минут, 3 секунды (10.03.2012 - 14:47) Winston написал(а):
Поставь мод. u и вместо квантификатора * поставь +

PS: хм непонятное поведение, первый раз такое вижу blink.gif

Спустя 4 минуты, 47 секунд (10.03.2012 - 14:52) zeromind написал(а):
Winston
спасибо, как ни странно + помог, всё в норме сразу :))
обычно я всегда ставлю +, но тут что-то протупил, вообще странное поведение, не должно же так быть?

up:
    $title = preg_replace('#[^а-яa-z0-9 ]+#ius', '', $title);
$title = preg_replace('#\s{2,}#', ' ', $title);

можно ли как-то соединить эти 2 регулярки ?)

Спустя 5 минут, 57 секунд (10.03.2012 - 14:58) Winston написал(а):
$title = preg_replace('#[^а-яa-z0-9 ]+|\s{2,}#ius', '', $title);
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.