Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/89.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript将数学文本转换为latex/图形_Javascript_Html_Math_Latex - Fatal编程技术网

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

javascript将数学文本转换为latex/图形,javascript,html,math,latex,Javascript,Html,Math,Latex,我试图找到一个插件,可以转换这个文本 1*2^3 + 0*2^2 + 1*2^1 = 1 + 0 + 3 = 5 添加到乳胶中,使其更易于阅读和用户友好 我不介意我是否需要对语法进行简单的修改…如果您只需要一个非常基本的标记,正则表达式就是您的朋友 下面的示例将每个*替换为一个中间点,并添加一些HTML标记()来创建这些索引。当然,这只是一个可以扩展的非常简单的示例 <span class="math">1*2^3 + 0*2^2 + 1*2^1 = 1 + 0 + 3 = 5&l

我试图找到一个插件,可以转换这个文本

1*2^3 + 0*2^2 + 1*2^1 = 1 + 0 + 3 = 5
添加到乳胶中,使其更易于阅读和用户友好


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

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

下面的示例将每个
*
替换为一个中间点,并添加一些HTML标记(
)来创建这些索引。当然,这只是一个可以扩展的非常简单的示例

<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>
1*2^3+0*2^2+1*2^1=1+0+3=5
(功能(){
函数转换(str){
str=str.replace(/\*/g,·;);
str=str.replace(/\^(.)\s/g,“$1”);
返回str;
};
var math=document.getElementsByClassName(“math”);
对于(变量i=0,l=math.length;i


然而,正如@Mathias所建议的,如果您想显示更复杂的数学,则绝对值得一看。

您认为这会变成什么?这似乎并不难从中生成代码…我希望乘法符号更具可读性(可能可以),但也希望^1实际转换为指数…这不是LaTeX。您希望从该输入中获得什么输出?正如我所说的,我希望将符号*和^?那就行了。。。正如你所说,mathjax似乎更适合于复杂的数学,但现在这就足够了。。。谢谢