XXXII. enchant Functions

简介

Enchant is the PHP binding for the Enchant library. Enchant steps in to provide uniformity and conformity on top of all spelling libraries, and implement certain features that may be lacking in any individual provider library. Everything should "just work" for any and every definition of "just working."

Enchat supports the following backends:

  • Aspell/Pspell (intends to replace Ispell)

  • Ispell (old as sin, could be interpreted as a defacto standard)

  • MySpell/Hunspell (an OOo projects, also used by Mozilla)

  • Uspell (primarily Yiddish, Hebrew, and Eastern European languages - hosted in AbiWord's CVS under the module "uspell")

  • Hspell (Hebrew)

  • AppleSpell (Mac OSX)

需求

This version uses the functions of the Enchant library by Dom Lachowicz. You need Enchant 1.2.4 or later.

安装

安装此 PECL 扩展库的信息可在手册中标题为 PECL 扩展库安装的一章中找到。 更多信息如新版本,下载,源文件,维护者信息以及更新日志等可以在这里找到: http://pecl.php.net/package/enchant.

运行时配置

本扩展模块在 php.ini 中未定义任何配置选项。

资源类型

There are two types of resources in this extension. The first one is the broker (backends manager) and the second is for the dictionary.

范例

例 1. Enchant Usage Example

<?php
$tag
= 'en_US';
$r = enchant_broker_init();
$bprovides = enchant_broker_describe($r);
echo
"Current broker provides the following backend(s):\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
"dictionary $tag provides:\n";
    
$spellerrors = enchant_dict_check($d, "soong");
    
print_r($dprovides);
    echo
"found $spellerrors spell errors\n";
    if (
$spellerrors) {
        
$suggs = enchant_dict_suggest($d, "soong");
        echo
"Suggestions for 'soong':";
        
print_r($suggs);
    }
    
enchant_broker_free_dict($d);
} else {
}
enchant_broker_free($r);
?>
目录
enchant_broker_describe -- Enumerates the Enchant providers
enchant_broker_dict_exists -- Wether a dictionary exists or not. Using non-empty tag
enchant_broker_free_dict -- Free a dictionary resource
enchant_broker_free -- Free the broker resource and its dictionnaries
enchant_broker_get_error -- Returns the last error of the broker
enchant_broker_init -- create a new broker object capable of requesting
enchant_broker_list_dicts -- Returns a list of available dictionaries
enchant_broker_request_dict -- create a new dictionary using a tag
enchant_broker_request_pwl_dict -- creates a dictionary using a PWL file. A PWL file is personal word file one word per line.
enchant_broker_set_ordering -- Declares a preference of dictionaries to use for the language
enchant_dict_add_to_personal -- add a word to personal word list
enchant_dict_add_to_session -- add 'word' to this spell-checking session
enchant_dict_check -- Check whether a word is correctly spelled or not.
enchant_dict_describe -- Describes an individual dictionary
enchant_dict_get_error -- Returns the last error of the current spelling-session
enchant_dict_is_in_session -- whether or not 'word' exists in this spelling-session
enchant_dict_quick_check -- Check the word is correctly spelled and provide suggestions
enchant_dict_store_replacement -- add a correction for a word.
enchant_dict_suggest -- Will return a list of values if any of those pre-conditions are not met.