Spellchecker不适用于tinymce 4.0(非JSON响应)

时间:2013-06-21 18:27:27

标签: php javascript tinymce spell-checking

我正在尝试在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

我认为您可以解决与Google试图https://github.com/tinymce/tinymce_spellchecker_php只是看不出如何整合它的连接问题,是否有人能够在TinyMCE 4.0中使用拼写检查程序?或者他们知道将Spellchecker整合到TinyMCE 4.0的任何教程吗?

好的,谢谢! :D

3 个答案:

答案 0 :(得分:0)

尝试传递call_user_func_array的第一个参数,如下所示:

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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

1)将“&amp; checkWords”方法重命名为EnchantSpell,GoogleSpell,PSpell,PSpellShell和SpellChecker类的“&amp; 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));
}

... ...