PHP 日本會議 2024

範例

範例 #1 Enchant 用法範例

<?php
$tag
= 'en_US';
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo
"目前 broker 提供下列後端:\n";
print_r($bprovides);

$dicts = enchant_broker_list_dicts($r);
print_r($dicts);
if (
enchant_broker_dict_exists($r,$tag)) {
$d = enchant_broker_request_dict($r, $tag);
$dprovides = enchant_dict_describe($d);
echo
"字典 $tag 提供:\n";
$wordcorrect = enchant_dict_check($d, "soong");
print_r($dprovides);
if (!
$wordcorrect) {
$suggs = enchant_dict_suggest($d, "soong");
echo
"針對 'soong' 的建議:";
print_r($suggs);
}
enchant_broker_free_dict($d);
} else {
}
enchant_broker_free($r);
?>
新增筆記

使用者貢獻的筆記 3 則筆記

7
robert dot johnson at icap dot com
12 年前
這是給 Windows 使用者的協助

您需要將字典新增至您的電腦,才能讓 Enchant 運作。

1. Enchant 會在您的登錄機碼中尋找,我不知道它需要哪些機碼,但它會在此處尋找 - 我忽略了所有這些機碼
* Default User\Software\Enchant\Config
* Default User\Software\Enchant\Ispell
* Default User\Software\Enchant\Myspell
2. 它會尋找 OpenOffice 字典(來自 OpenOffice 的登錄設定)
3. 它會在 [PHP]\share\myspell\dicts 資料夾中尋找

我將 Firefox 的 en-us 字典檔案複製到 \share\myspell\dicts,並將它們重新命名為 en_US.*,使其能夠運作。我認為您可以從這裡下載並安裝 OpenOffice 的字典:http://extensions.services.openoffice.org/dictionary

Enchant 會建立並寫入下列資料夾,因此您必須允許 PHP 具有下列資料夾的讀取和寫入權限:[SYSTEM32]\config\systemprofile\Application Data\enchant

如果 Enchant 可以接受參數來指定主要字典和使用者字典的位置會很方便,我想登錄機碼是唯一的方法。
3
robert dot johnson at icap dot com
11 年前
重複 wschalle at gmail dot com 在頁面 https://php.dev.org.tw/manual/en/book.enchant.php 上的筆記

除非 libenchant_myspell.dll 和 libenchant_ispell.dll 從 PHP 5.4.13 放置在 [PHP]\lib\enchant 中,否則 enchant 程式庫無法運作。

字典仍然會從 [PHP]\share\myspell\dicts 中載入。
2
ch1902
11 年前
關於 robert.johnson 非常有幫助的貼文,還有一點要補充的是,我發現字典檔案(*.dic 和 *.aff)只能包含 A-Z 和 _ 字元,否則它們不會列在 enchant_broker_list_dicts() 的輸出中(至少對於 PHP 5.4 / Windows 而言)。

當從 https://addons.mozilla.org/firefox/language-tools/ 下載一些字典檔案時,這是一個問題,例如檔案名稱包含連字號(例如 pt-BR)。只需將檔案名稱中的連字號替換為底線,enchant 就會辨識語言代碼。
To Top