Как определить язык текста в переменной?

Bboy

Новичок
Как определить язык текста в переменной?

Переменная содержит текстовую информацию. Как узнать русский это текс или английский?

-~{}~ 13.04.04 15:48:

Э, отцы, что никто не знает как определить русский или английский текст?:eek:
 

Demiurg

Guest
поискать в ней русские буквы или английские.
 

Bboy

Новичок
А может есть ф-я, помещая в которую переменную, она выводит русский там или англ. текст?
 

Demiurg

Guest
if($str == convert_cyr_string($str , 'w' , 'k'))
{
echo 'english text';
}

C тебя пиво. Будет ли работать на 100% не уверен.
 

Bboy

Новичок
Originally posted by Demiurg
if($str == convert_cyr_string($str , 'w' , 'k'))
{
echo 'english text';
}

C тебя пиво. Будет ли работать на 100% не уверен.
Вот спасибо, вот обрадовал:D :D :D

Газельку уже погрузили, куда везти?))
 

Сергей123

Новичок
Если не ошибаюсь, convert_cyr_string бьёт такие word'овские рюшечки как длинное тире, кавычки-ёлочки и т.п.
 

Z@

Guest
по моему бесполезная затея.
а что если будут и русские and english буквы.
тогда уж точно не определишь на каком языке строка.
а если очень уж надо, то сделай массив из всех русских букв и ищи в строке хотя бы одну из них. Если есть, то русский текст. то же самое и с другими языками. Хотя и непонятно зачем тебе это надо.
 

bakh

Абалдуй
Z@ А convert_cyr_string переводит из кодировки и английские буквы?..
"Оба-на!.. А мужики-то не знали!.." /Реклама/
 

kvf77

Red Devil
Автор оригинала: bakh
Z@ А convert_cyr_string переводит из кодировки и английские буквы?..
"Оба-на!.. А мужики-то не знали!.." /Реклама/
А почему не применить ereg и просто проверить состоит ли строка из английских символов с учетом знаков припенания?
 

bakh

Абалдуй
kvf77, можно... Можно ещё сто методов придумать... Например, удалять по одному символы латиницы, цифры и знаки препинания... Если результат не пустая строка, то там есть ещё какие-то буковки из второй половина таблицы... :)
 

hayk

Новичок
Originally posted by Ямерт
Имхо - никак не определить. Если, к примеру, там вообще уникод?
Ну и что? Юникод это тоже символы. Они могут быть английскими, могут быть русскими, а могут быть японскими.
 

hayk

Новичок
1. Это не юникод. Это html-entities.
2. Это строки можно преобразовать в в utf-8, unicode и т.д.
3. Эти числа для русских символов из вполне оговоренного диапазона.
 

Rin

*
Javascript source.

PHP:
  /**
  * Автоопределение языка по исходному тексту.
  * Возвращает 'ru' (русский) или 'en' (английский)
  * @param   string     s
  * @return  string     (ru|en)
  * @access  private
  */
  this._detectLang = function(s) {
    //в тексте не должно быть html-тагов, т.к. они исказят результат!
    //просто подсчитываем, что больше: русских или английских букв.
    var count_ru = 0, count_en = 0;
    //первых 500 символов достаточно
    s = String(s).substr(0, 500);
    for (var i = 0; i < s.length; i++) {
      if (/[а-я]/i.test(s.charAt(i))) {
        count_ru++;
      }
      else if (/[a-z]/i.test(s.charAt(i))) {
        count_en++;
      }
    }
    return (count_ru > count_en) ? 'ru' : 'en';
  }
 

neko

tеam neko
упущено два момента:
1. сторока где использованны 2 языка
2. а какой смысл это "определять"
 
Сверху