Определение языка пакета Pear не может обнаружить английский на PHP 7

Я попробовал этот пакет http://pear.php.net/package/Text_LanguageDetect/

Это довольно точно на PHP 5.4. Но я потерпел неудачу на PHP 7. Есть идеи, почему?

Скрипт, который я запускаю:

<?php
  require_once 'Text/LanguageDetect.php';

  $l = new Text_LanguageDetect;

  $stdin = fopen('php://stdin', 'r');

  echo "Supported languages:\n";

  try {
     $langs = $l->getLanguages();
  } catch (Text_LanguageDetect_Exception $e) {
     die($e->getMessage());
  }

  sort($langs);
  echo join(', ', $langs);

  //$l->setNameMode(2);
  while ($line = fgets($stdin)) {
     print_r($l->detect($line, 4));
     //print_r($l->detectSimple($line));
  }

Входные данные:

This is English. What does this mean?

Тот же скрипт на PHP 7.0.9

This is English. What does this mean?
Array
(
    [hungarian] => 0.20114942528736
    [albanian] => 0.19632183908046
    [danish] => 0.1848275862069
    [french] => 0.17183908045977
)

Тот же скрипт на PHP. 5.4.34

This is English. What does this mean?
Array
(
    [english] => 0.34965517241379
    [dutch] => 0.24896551724138
    [latin] => 0.23931034482759
    [hungarian] => 0.20114942528736
)

1 ответ

Я только что выпустил Text_LanguageDetect версии 1.0.0, которая отлично работает на PHP 7.1.

Было бы неплохо, если бы вы сообщили об этой ошибке в багтрекер.

Другие вопросы по тегам