首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用于德语的p拼写和带php的A拼写

用于德语的p拼写和带php的A拼写
EN

Stack Overflow用户
提问于 2012-04-30 12:18:50
回答 2查看 1.9K关注 0票数 4

我正在尝试结合使用p拼写和用于PHP的拼写。

我用这种方式安装了它:

代码语言:javascript
复制
sudo apt-get install libpspell-dev 
sudo apt-get install php5-pspell
sudo apt-get install aspell-de

在此之后,下面是一个示例代码:

代码语言:javascript
复制
$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。如何解决,对于“球”检查也将返回为真?
EN

回答 2

Stack Overflow用户

发布于 2012-07-27 01:36:35

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

代码语言:javascript
复制
$pspell_link = pspell_new("de", "", "", "utf-8");

另外:尽管这允许“Verk uferin”通过拼写检查,但在我将这一行放入我的php.ini文件之前,我的服务器无法正确输出带有umlauts的字母。

代码语言:javascript
复制
default_charset = "utf-8"

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

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

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

代码语言:javascript
复制
$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/>";
  }
}
票数 2
EN

Stack Overflow用户

发布于 2015-04-10 06:41:34

有一个简单的解决办法。就这么做吧:

代码语言:javascript
复制
$word = ucfirst($word); //Always capitalize to avoid case sensitive error
if (!pspell_check($dict, $word)) {
   $suggestions = pspell_suggest($dictionary, $word);
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/10383583

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档