2012-10-27 50 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