javascript将数学文本转换为乳胶/图形

时间:2012-10-27 16:36:36

标签: javascript html math latex

我正在尝试找到一个可以转换此文本的插件

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

进入乳胶所以它可以更强易于阅读用户友好

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

1 个答案:

答案 0 :(得分: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绝对值得一看。