-3

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

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

放入乳胶中,使其更易于阅读用户友好

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

4

1 回答 1

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>

演示(JSFiddle)

但是,正如@Mathias 建议的那样,如果您想显示更复杂的数学,MathJax绝对值得一看。

于 2012-10-28T10:26:07.323 回答