javascript - CK editor 4,google Translate也翻译了我的MATHJAX公式,即使没有翻译
问题描述
大家好,我在这里有一个大问题,很长一段时间都没有得到解决。
我正在使用 ck 编辑器和 Mathjax 插件来像这样添加数学公式
<script src="https://cdn.ckeditor.com/4.13.1/standard-all/ckeditor.js"></script>
<textarea name="desc" class="form-control" id="richtext" placeholder="About this category."></textarea>
<script>
var richtext = document.getElementById('richtext');
CKEDITOR.replace('richtext', {
on : {
change: function ( evt ) {
$(richtext).html(evt.editor.getData().replace(/(\r\n|\n|\r)/gm,"") ) ;
}
},
extraPlugins: 'mathjax,colorbutton,font,justify,print,tableresize,uploadimage,uploadfile,pastefromword,liststyle,pagebreak',
mathJaxLib: 'https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.4/MathJax.js?config=TeX-AMS_HTML',
height: 320
});
if (CKEDITOR.env.ie && CKEDITOR.env.version == 8) {
document.getElementById('ie8-warning').className = 'tip alert';
}
</script>
直到这里一切都很好。
现在,当我发布数据并使用谷歌翻译将数据从英语翻译成印地语时,就像这样
require_once ('assets/vendor/autoload.php');
use \Statickidz\GoogleTranslate;
$source = 'en';
$target = 'hi';
$text = "<p>This is a test question. please do not translate this <span class="math-tex">\(x = {-b \pm \sqrt{b^2-4ac} \over 2a}\)</span>equation.</p>";
// i know there is an issue of double quotes in the class math-tex, but this is what i get from ckeditor. even if i replace the double quotes with single it does not does the job.
$tex4444t=str_replace(array("\r\n", "\r", "\n"), " ", $text);
$trans232 = new GoogleTranslate();
$results3 = $trans232->translate($source, $target, $tex4444t);
我知道 math-tex 类中存在双引号问题,但这是我从 ckeditor 得到的。即使我用单引号替换双引号,它也不起作用。我也尝试过将 notranslate 类与 math-tex 一起使用,它仍然无法正常工作。
我已经尝试过其他替代方案,但没有一个可行,请帮我解决这个问题。
解决方案
这已经出现在MathJax 问题跟踪器中。似乎php google translate似乎无法处理notranslate
该类。您可能会向他们提交错误。
与此同时,数学一旦被“翻译”后的主要问题是反斜杠后有额外的空格。所以也许做一个正则表达式替换,将一个反斜杠后跟一个空格转换为一个反斜杠就足够了?
MathJax 问题跟踪器中还建议了另一个更复杂的选项,但可能是最安全的方法。
推荐阅读
- scala - 在 Scala 中处理两个选项
- apache-kafka - 无法从使用 aiosfstream(Salesforce 的 Python 库)订阅的频道批量接收消息
- django - 无法将面板添加到 openstack django Horizon
- java - 拥有多个spring“应用程序上下文”的目的是什么
- ruby-on-rails - 如何将 LitElement 与 Webpacker (rails Webpack) 一起用于自定义 Web 组件?
- javascript - GetElementsByTagName ƒ item() { [native code] } - 这是什么?
- javascript - IE Edge:格式化问题 document.execCommand('inserttext', true, content)
- python - CSV 文件格式 - 每第 n 个条目后开始一个新行
- java - 制作进度条以覆盖其他应用程序
- javascript - 无法获取对象/数组大小