javascript - 反斜杠在 JavaScript 中被解释为控制字符

标签 javascript regex latex tex

我从服务器获得了 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/

相关文章:

javascript - Jquery find 按类获取隐藏输入的值

javascript - 为什么我的正则表达式长度为 2?

Heroku buildpack - 安装 texlive 二进制包

r - 如何增加 R Markdown 中项目符号点之间的距离?

javascript - 如何在angularJS中显示来自服务器的图像

javascript - 使用 ng-dygraphs 时如何从底层 dygraphs 中获取 isZoomed ?

javascript - 在 Javascript 中使用 alert() 处理一个奇怪的问题

python - 使用正则表达式省略数字

javascript - 如何避免在以下脚本中使用两次替换(仅使用一个正则表达式)?

r - 观星者汇总表中的可变组标题