pspell_new

(PHP 4 >= 4.0.2, PHP 5, PHP 7, PHP 8)

pspell_new加载新字典

描述

pspell_new(
    字符串 $language,
    字符串 $spelling = "",
    字符串 $jargon = "",
    字符串 $encoding = "",
    整数 $mode = 0
): PSpell\Dictionary|false

pspell_new() 打开一个新字典,并返回一个 PSpell\Dictionary 实例,供其他 pspell 函数使用。

有关更多信息和示例,请查看内联手册 pspell 网站:» http://aspell.net/.

参数

language

语言参数是语言代码,它包含两个字母的 ISO 639 语言代码和一个可选的两个字母的 ISO 3166 国家代码,在破折号或下划线之后。

spelling

拼写参数是对于有多种拼写语言(如英语)所需的拼写。已知值是 'american'、'british' 和 'canadian'。

jargon

行话参数包含额外的信息,以区分具有相同语言和拼写参数的两个不同的词列表。

encoding

编码参数是预期单词所在的编码。有效值为 'utf-8'、'iso8859-*'、'koi8-r'、'viscii'、'cp1252'、'machine unsigned 16'、'machine unsigned 32'。此参数基本上没有经过测试,因此使用时要小心。

mode

模式参数是拼写检查器将以何种模式工作。有多种模式可用

模式是使用上面列出的不同常量构建的位掩码。但是,PSPELL_FASTPSPELL_NORMALPSPELL_BAD_SPELLERS 是互斥的,因此你应该只选择其中一个。

返回值

如果成功,则返回 PSpell\Dictionary 实例,如果失败,则返回 false

变更日志

版本 描述
8.1.0 现在返回一个 PSpell\Dictionary 实例;以前,返回的是一个 资源

示例

示例 #1 pspell_new()

<?php
$pspell
= pspell_new("en", "", "", "",
(
PSPELL_FAST|PSPELL_RUN_TOGETHER));
?>

添加笔记

用户贡献的笔记 2 个笔记

10
wookie
15 年前
只是一些小建议,我注意到当你多次调用 pspell_new 时,php 不会在资源被销毁时释放内存使用量,而是在你的整个脚本完全完成后才释放。因此,如果你创建一个 pspell_link 资源,并且打算在其他地方再次使用它,与其再次调用 pspell_new,不如跟踪你最初的 pspell_link 资源实例化,并再次使用它,你的脚本将运行得更高效。

我一直在使用 16 个字典,每次都调用新的 pspell_new,我的服务器上的内存使用量一直增长,直到我遇到错误/php 内核转储。:-/ 所以我将每个 pspell 资源存储在一个以语言为键的数组中,并在创建资源之前先检查该资源是否存在。

希望这对某人有所帮助。
1
allan at wagawaga dot dk
15 年前
我认为语言和拼写参数在不同的 PHP 版本和/或 aspell/UNIX 发行版上有所不同。

我的 PHP 5.2.6 Debian 忽略了拼写参数。

反而

对于美国人,使用 en_US 作为语言。
对于英国人,使用 en_GB(而不是 en_UK)
对于加拿大人,使用 en_CA
To Top