Регулярные выражения. Только буквы Unicode

Mishanja

Новичок
Регулярные выражения. Только буквы Unicode

Добрый день!

Может кто сталкивался.

Мне надо написать регулярное выражение, которое проверяло бы находятся ли в переменной только буквы Unicode.

Т.е. если, например, пишет украинец и вводит свое имя на украинском, или немец на немецком, со всякими там буквами национального алфавита.

При этом весь сайт в Unicode.

Заранее благодарю.
 

Necromant

Новичок
http://ua2.php.net/manual/ru/reference.pcre.pattern.modifiers.php
u (PCRE_UTF8)

Этот модификатор включает дополнительную функциональность PCRE, которая не совместима с Perl: шаблоны обрабатываются как UTF8 строки. Модификатор u доступен в PHP 4.1.0 и выше для Unix-платформ, и в PHP 4.2.3 и выше для Windows платформ.
 

Mishanja

Новичок
мне надо определить ТОЛЬКО ЛИ БУКВЫ, не просто символ unicode
 

DiMA

php.spb.ru
Команда форума
Ты слова понимаешь, нет? Включи юникод в регах, настрой локаль и используй \w \W для указания диапазона букв. Либо покури уфт8 и сам проверяй регом строку, где каждые 2 байта составляют одну букву.
 

Mishanja

Новичок
Ничего не понял, но видимо где-то ступил. Ладно, закрывайте тему, ато все такие умные. Наверное родились сразу со знанием регулярок и никогда никого ни о чем не спрашивали.
 

liss

Новичок
что тут понимать-то, тебе же ссылку дали, открой и посмотри, там даже примеры есть или всё тут разжевать нужно?
 

SiMM

Новичок
> Либо покури уфт8 и сам проверяй регом строку, где каждые 2 байта составляют одну букву.
Промашка вышла
Тредстартеру - нет такой кодировки - Unicode.
 

SiMM

Новичок
> а слово "кодировка" топикстартер не упоминал
Так же, как и UTF-8, посему понять, что он имеет в виду (может речь об UTF-16 и тогда DiMA был бы абсолютно прав) не представляется возможным.
 

DiMA

php.spb.ru
Команда форума
нда, до чего деградация у некоторых идиотов доходит, уже даже постебаться ума не хватает, перешел на смайлы

SiMM
не, я про UTF8, где национальный текст идет из 2х байт, а по условиям задачи английский однобайтовые текст или знаки препинания/цирфы отсутствуют. А в утф16, если я не путаю название, любой символ из 2х байт, английский диапазон+символы+цифры начинаются с \x00, С++шные строки заканчиваются на \x00\x00, а в начало такой строки или файла могут поместить 2-3 байтовый код, означающих используемую кодировку, для универсальности.

В общем случае писать геммор, для одного языка и известного диапазона кодов - 5 минут работы. Решение естественно "в лоб".
 
Сверху