2012-10-27 51 views
-3

我试图找到一个插件,可以JavaScript的转换数学文本转换成乳胶/图形

1*2^3 + 0*2^2 + 1*2^1 = 1 + 0 + 3 = 5 

转换本文成乳胶所以可以更易于阅读用户友好

我不介意我是否需要对语法进行简单的修改...

+0

什么LaTeX你看到这变成了?这似乎并不难以生成代码... –

+0

我想乘法符号是更可读一点(可能CSS),但也^ 1实际变成指数... – fxuser

+2

这不是LaTeX。 **你想从输入中得到什么输出?** –

回答

1

如果你只需要一个非常基本的标记,正则表达式就是你的朋友。

以下示例用中间点·替换每个*,并添加一些HTML标记(<sup>)来创建这些指数。当然,这只是一个可以扩展的非常简单的例子。

<span class="math">1*2^3 + 0*2^2 + 1*2^1 = 1 + 0 + 3 = 5</span> 
<script> 
    (function(){ 
     function convert(str) { 
      str = str.replace(/\*/g, "&#183;"); 
      str = str.replace(/\^(.)\s/g, "<sup>$1</sup> "); 
      return str; 
     }; 

     var math = document.getElementsByClassName("math"); 
     for (var i = 0, l = math.length; i < l; ++i) { 
      math[i].innerHTML = convert(math[i].innerHTML); 
     } 
    })(); 
</script> 

Demo (JSFiddle)

然而,随着@Mathias建议,MathJax如果你想显示更复杂的数学是绝对值得一看。

+0

这将做到这一点... mathjax似乎更好的复杂数学,因为你说,但现在,这将足以... ...谢谢 – fxuser