拼写检查器无法在tinymce 4.0中工作(非JSON响应)

Spellchecker is not working in tinymce 4.0 (Non JSON response)

本文关键字:工作 JSON 响应 检查 tinymce      更新时间:2023-09-26

我试图在TinyMCE 4.0中使用拼写检查器,但它返回错误:

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

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

1) 将EnchantSpell、GoogleSpell、PSpell、PSpellShell和Sp-ellChecker类的"&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));
}

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

call_user_func_array(array("PSpellShell","spellcheck"), $arguments);

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