Linux за българи: Форуми

Програмиране => Web development => Темата е започната от: senser в Dec 03, 2006, 15:49



Титла: Dev-lang/php & unicode
Публикувано от: senser в Dec 03, 2006, 15:49
Здравейте,

Работя върху едно уеб приложение, което ползва UTF-8. Проблема ми е, че не мога да съставя регулярни изрази за стрингове с български символи. Ето пример:
Примерен код

if (ereg('/^[а-яА-Я]+$/',$CarterRegForm->exportValue('MOL'))) print "YES";
else print "NO";

Този код би следвало да провери дали дадения стринг е съставен само от букви от българската азбука, но за съжаление не работи. Със символите от англ. азбука няма проблеми.

Ето какво намерих по въпроса
тук.

Сблъсквал ли се е някой с подобен проблем и дали прекомпилирането на РНР с поддръжка на ICU ще помогне - гледам че на сайта пише че ще бъде достъпно в РНР6





Титла: Dev-lang/php & unicode
Публикувано от: Emil_ в Dec 04, 2006, 19:39
Здравей,

mbstring(http://bg.php.net/mbstring и по специално виж тук - http://bg.php.net/manual/en/function.mb-ereg.php) библиотеката има възможност да направи това, което ти трябва. Ако я нямаш инсталирана на хостинга си е мъка.

Разгледай и сорса MediaWiki - http://sourceforge.net/project/showfiles.php?group_id=34373, доста полезни неща можеш да намериш вътре ако mbstring не ти е под ръка


Титла: Dev-lang/php & unicode
Публикувано от: prilep в Dec 05, 2006, 13:57
Мисля че пърлските регулярни изрази поддържат utf8, та защо не опиташ с тях вместо да се мъчиш да прекомпилираш и т.н ?


Титла: Dev-lang/php & unicode
Публикувано от: senser в Dec 05, 2006, 16:45
честно казано срещнах противоречиви мнения за mbstring и затова се възъдржах да го пробвам, но може би ще трябва ......
за регулярните изрази на perl не се бях сещал, честно казано - може и там да погледна как са нещата
мислех да направя и един цикъл да сравнява символ по символ, но това ще е егати и дървеното изпълнение  :crazy: