gpt4 book ai didi

php - 用于德语的 pspell 和 aspell with php

转载 作者:可可西里 更新时间:2023-10-31 23:33:30 28 4
gpt4 key购买 nike

我正在尝试将 pspell 与 PHP 的 aspell 结合使用。

我是这样安装的:

sudo apt-get install libpspell-dev 
sudo apt-get install php5-pspell
sudo apt-get install aspell-de

之后,这里是一个示例代码:

$pspell_link = pspell_new("de");
var_dump(pspell_check($pspell_link, "Verkäuferin"));
if (!pspell_check($pspell_link, "Verkäuferin")) {
$vorschlaege = pspell_suggest($pspell_link, "verkäuferin");
foreach ($vorschlaege as $vorschlag) {
echo "Mögliche Schreibweise:" . $vorschlag . "<br>";
}
}

有两个问题:

  1. 这个例子不理解德语变音符号
  2. 对于实质内容,它们必须是大写字母,以便 pspell_check 返回 true。当我的单词都是小写的时候,如何也变成真的?例如,“Ball”将返回 true,而“ball”将返回 false。如何解决,对于“ball”,检查也将返回 true?

最佳答案

尝试指定字符编码。只需将第一行更改为:

,我就能让您的代码正常工作:
$pspell_link = pspell_new("de", "", "", "utf-8");

此外:尽管这允许“Verkäuferin”通过拼写检查,但我的服务器无法正确输出带有变音符号的字母,直到我将此行放入我的 php.ini 文件中。

default_charset = "utf-8"

有关 PHP 字符编码的更多信息,此页面看起来很有用:

http://kore-nordmann.de/blog/php_charset_encoding_FAQ.html#which-charset-encoding-do-strings-have-in-php

关于您的第二个问题,虽然PHP 使用的aspell 包支持不区分大小写的匹配,但遗憾的是PHP 不允许您选择该选项。这是我能想到的最佳解决方案:

$pspell_link = pspell_new("de", "", "", "utf-8");
$wort = "verkäuferin";
$richtig = pspell_check($pspell_link, $wort);
if (!$richtig) {
$vorschlaege = pspell_suggest($pspell_link, $wort);
// make a copy of the array with all words in lowercase, so we can still
// display the original suggestions if necessary
$kleinschrift_vorschlaege = array_map('strtolower', $vorschlaege);
// convert the original word to lowercase before comparing it
$richtig = in_array(strtolower($wort), $kleinschrift_vorschlaege);
}
echo "'$wort' ist " . ($richtig ? "" : "nicht") . " richtig buchstabiert.<br/>";
if (!$richtig) {
echo "Mögliche Schreibweisen:<br/>";
foreach ($vorschlaege as $vorschlag) {
echo "&nbsp; &nbsp; " . $vorschlag . "<br/>";
}
}

关于php - 用于德语的 pspell 和 aspell with php,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10383583/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com