Я попытался установить pspell в надежном дистрибутиве Ubuntu с помощью следующих команд:
sudo apt-get install libpspell-dev
sudo apt-get install php5-pspell
sudo apt-get install aspell-he
Похоже, что процесс прошел успешно, так как в процессе установки не было возвращено никаких ошибок.
Однако, когда я пробую это в действии, я получаю массив вопросительных знаков (�):
pspell_config_create("he");
$t = pspell_new('he');
$suggestions = pspell_suggest($t, 'דבל');
return view('master', compact('suggestions'));
// the above line can be swapped with"
// print_r($suggestions);
// and the result stays the same
Причина, по которой я использовал представление, заключается в том, что я подумал, что, возможно, веб-странице нужна некоторая кодировка, поэтому я использовал структуру документа HTML5 для достижения этого, однако результат остался прежним.
Моя HTML-разметка:
<!doctype html>
<html lang="he">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
סתם טקסט לבדיקה
<?php print_r($suggestions); ?>
</body>
</html>
Результат вернулся из этого:
סתם טקסט לבדיקה Array ( [0] => � [1] => � [2] => � [3] => � [4] => � [5] => � [6] => � )
Я также провел еще один тест, в котором пытался сделать:
return pspell_check($t, 'הגדא') ? 'there is' : 'nope';
И по какой-то причине для любого данного слова он возвращал «нет», что означает, что pspell_check
возвращал false
Есть идеи, как это исправить?
Редактировать:
При попытке получить длину результатов:
<!doctype html>
<html lang="he">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
@foreach($suggestions as $suggestion)
{{ strlen($suggestion) }} <br>
@endforeach
</body>
</html>
Результат:
1
1
1
1
1
1
1
Это означает, что, возможно, возвращенные результаты из метода pspell_suggest
имели проблемы с извлечением данных из словаря aspell?