2

我正在尝试在 TinyMCE 4.0 中使用 Spellchecker,但它返回错误:

Non JSON response:<br />
<b>Warning</b>:  call_user_func_array() [<a href='function.call-user-func-array'>function.call-user-func-array</a>]: First argument is expected to be a valid callback, 'PSpellShell::spellcheck' was given in <b>/home/www/misitio.com/doc/plugins/tinymce/plugins/spellchecker/rpc.php</b> on line <b>98</b><br />
{"id":null,"result":null,"error":null}

我使用的代码是:

//Javascript:
tinymce.init({
        selector: "textarea",
        theme: "modern",
        language : 'es',
        menubar : false,
        height: 400,
        autoresize_min_height: 400,
        plugins: [
            "advlist autolink lists link image charmap hr",
            "searchreplace wordcount visualchars fullscreen",
            "insertdatetime table contextmenu directionality",
            "template textcolor autoresize spellchecker"
        ],
        toolbar: "undo redo | styleselect | bold italic underline strikethrough | alignleft aligncenter alignright alignjustify | bullist numlist outdent indent | forecolor backcolor | subscript superscript | removeformat blockquote | charmap inserttime | link image | table hr | searchreplace | fullscreen spellchecker",
        image_advtab: true,
        spellchecker_languages : "+English=en",
        spellchecker_rpc_url: 'plugins/tinymce/plugins/spellchecker/rpc.php'
    });

使用插件 PHP Spellchecker 2.0.6.1 ( http://www.tinymce.com/develop/changelog/?type=phpspell )

我认为你可以解决谷歌尝试https://github.com/tinymce/tinymce_spellchecker_php的连接问题,只是看不到如何集成它,有没有人能够在 TinyMCE 4.0 中使用拼写检查器?或者他们知道将 Spellchecker 集成到 TinyMCE 4.0 的任何教程吗?

嗯,谢谢!: D

4

3 回答 3

0

据我所知,谷歌关闭了这项服务。你不应该再使用它了。

于 2013-11-12T13:27:12.213 回答
0

尝试像这样传递 call_user_func_array 的第一个参数:

call_user_func_array(array("PSpellShell","spellcheck"), $arguments);
于 2013-06-21T18:30:43.287 回答
0

这个问题可以通过更新 php 拼写检查插件中的几行来解决。

1) 将 EnchantSpell、GoogleSpell、PSpell、PSpellShell 和 SpellChecker 类的“&checkWords”方法重命名为“&spellcheck”

2)更新拼写检查方法以以下格式返回数据

array(
    'incorrect word 1'=>array('suggestion 1','suggestion 2', etc...),
    'incorrect word 2'=>array('suggestion 1','suggestion 2', etc...),
)

例如让我们更新 EnchantSpell.php 文件的拼写检查方法

……

if(!$correct) {
    //$returnData[] = trim($value);
    $returnData[trim($value)] = $this->getSuggestions($lang, trim($value));
}

……

于 2013-11-21T00:59:19.387 回答