pspell_new_config

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

pspell_new_config使用给定配置加载带有设置的新字典

描述

pspell_new_config(PSpell\Config $config): PSpell\Dictionary|false

pspell_new_config() 使用 pspell_config_create() 创建并使用 pspell_config_*() 函数修改的 config 中指定的设置打开一个新的字典。此方法为您提供了最大的灵活性,并且具有 pspell_new()pspell_new_personal() 提供的所有功能。

参数

config

config 参数是创建配置时 pspell_config_create() 返回的。

返回值

成功时返回 PSpell\Dictionary 实例,失败时返回 false

变更日志

版本 描述
8.1.0 config 参数现在期望一个 PSpell\Config 实例;之前,期望一个 资源
8.1.0 现在返回一个 PSpell\Dictionary 实例;之前,返回一个 资源

示例

示例 #1 pspell_new_config()

<?php
$pspell_config
= pspell_config_create("en");
pspell_config_personal($pspell_config, "/var/dictionaries/custom.pws");
pspell_config_repl($pspell_config, "/var/dictionaries/custom.repl");
$pspell = pspell_new_config($pspell_config);
?>

添加说明

用户贡献的说明 1 说明

soapergem at gmail dot com
15 年前
今天我遇到了一个有趣的问题,我想在这里分享一下,以节省下一个遇到同样情况的开发人员的很多麻烦。我一直将 PHP5 作为 FastCGI 模块运行在 Windows IIS 服务器上,最近我安装了 Aspell 库并在我的 php.ini 文件中启用了 pspell 扩展。我还安装了英语 Aspell 字典。但当我开始使用 pspell 时,我得到了模棱两可的错误,这些错误会在没有警告的情况下终止脚本执行。

因此我开始分解问题,并得出结论,以下代码成功地执行了它的第一行,但在最后一行调用 pspell_new_config 时崩溃了

<?php

$pspell_config
= pspell_config_create('en');
$pspell_link = pspell_new_config($pspell_config);

?>

这在浏览器中返回了一个 FastCGI 错误,错误号为 -2147467259 (0x80004005)。幸运的是,我想尝试通过命令行运行相同的脚本,这给了我一个更具描述性的错误。发生的事情是,字典安装程序使用 Windows 标准 CRLF "\r\n" 而不是 UNIX 标准 "\n" 为换行符创建了 Aspell\data 目录中的 *.dat 文件。通过将这些全部更改回 UNIX 标准,一切正常。它显然对这些换行符非常敏感,因此如果您正在苦苦思索为什么 pspell_new_config 会破坏您的脚本,并且您正在使用 Windows 服务器,请首先确保您的字典文件中没有任何多余的 "\r" 字符。
To Top