[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Определение языка строки
Гость_User
Здравствуйте.
Может кто-нибудь сталкивался со следующей задачей:
Есть строка в одно слово без пробелов. Нужно определить на каком языке написана данная строка. Варианта два. Англ. и Русский. Если в строке встречаются и те и те символы, нужно чтобы возвращалось значение (напр.) "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
Попробуй так..

if (preg_match("/[а-я]+/u", $string))
echo "rus";
else
echo "en";


alex12060 Опередил)))

Спустя 33 минуты, 49 секунд (12.05.2011 - 20:26) Гость_User написал(а):
В ответе alex12060
Случай с undefined всегда выдает один и тот же результат и при русском и английском и смешанном вариантах.
Быстрый ответ:

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