Может кто-нибудь сталкивался со следующей задачей:
Есть строка в одно слово без пробелов. Нужно определить на каком языке написана данная строка. Варианта два. Англ. и Русский. Если в строке встречаются и те и те символы, нужно чтобы возвращалось значение (напр.) "none". Если Русский, то "rus". Если англ., то "en". Есть идеи.
Пробовал искать готовые классы. Оказалось с этим имеются проблемы. Нашел два более или менее подходящих варианта. Google language detect и PEAR language detect. С первым проблема - на сайте Google нет ссылки на подключаемый файл. Во втором случае нужно устанавливать PEAR. Так что, пока у разбитого корыта.
Спустя 3 минуты, 47 секунд (12.05.2011 - 19:48) Гость_User написал(а):
Кодировка UTF8.
Спустя 3 минуты, 12 секунд (12.05.2011 - 19:51) alex12060 написал(а):
<?php
error_reporting(E_ALL);
$str = 'Тест';
$str1 = 'Test';
$str2 = 'Я teст';
if (preg_match("/[а-яё]+/iu", $str))
{
echo 'rus'.'<br />';
}
if (preg_match("/[a-z]+/iu", $str1))
{
echo 'eng'.'<br />';
}
if (preg_match("/[a-zа-яё]+/iu", $str2))
{
echo 'undefined'.'<br />';
}
die();
Спустя 1 минута, 40 секунд (12.05.2011 - 19:53) Renden написал(а):
Гость_User
Попробуй так..
alex12060 Опередил)))
Попробуй так..
if (preg_match("/[а-я]+/u", $string))
echo "rus";
else
echo "en";
alex12060 Опередил)))
Спустя 33 минуты, 49 секунд (12.05.2011 - 20:26) Гость_User написал(а):
В ответе alex12060
Случай с undefined всегда выдает один и тот же результат и при русском и английском и смешанном вариантах.
Случай с undefined всегда выдает один и тот же результат и при русском и английском и смешанном вариантах.