我从服务器获得了 LaTex 代码并且无法控制它。我想在使用 JavaScript 时打印 LaTex 代码,但它在分配给变量时解释为控制字符。
var str = '\[\frac{{{d^2}y}}{{d{x^2}}} - \,3\,\left( {\frac{{dy}}{{dx}}} \right)\, + \,2y\, = \,0\]';
这个解释如下
[rac{{{d^2}y}}{{d{x^2}}} - ,3,left( {rac{{dy}}{{dx}}} ight), + ,2y, = ,0]
我想要如下:
\[\frac{{{d^2}y}}{{d{x^2}}} - \,3\,\left( {\frac{{dy}}{{dx}}} \right)\, + \,2y\, = \,0\]
我尝试了不同的正则表达式,结果
var index = str.indexOf("\\")
是-1
JavaScript 删除了控制字符,如\f、\r 等,TeX 中有成千上万的反斜杠符号。
最佳答案
str var是怎么加载的?
无论如何,有一个解决方法( working here ):
var c=',[]flr';
for(var i=0;i<c.length;i++)
eval("str=str.replace(/\\"+c.charAt(i)+"/g,'\\\\"+c.charAt(i)+"');");
我们所做的是对 c 中的任何字符执行以下代码(用字符替换 X):
str=str.replace(/\X/g,'\\X');
无论如何,有一个解决方法( working here ):
var c=',[]flr';
for(var i=0;i<c.length;i++)
eval("str=str.replace(/\\"+c.charAt(i)+"/g,'\\\\"+c.charAt(i)+"');");
我们所做的是对 c 中的任何字符执行以下代码(用字符替换 X):
str=str.replace(/\X/g,'\\X');
好的,这是传送 JSON 的站点上的一个奇怪(而且可能是危险的)错误。如果它没有把\' 变成\',也许它不会把 ' 变成\'。因此,在 ' 或 "之后的任何内容(取决于字符串的引用方式)都将在包含该内容的任何网站(即您的网站)上执行。可能作为 JSON更安全一些。
关于javascript - 反斜杠在 JavaScript 中被解释为控制字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22980799/