发布将由MathJax处理的文本

时间:2013-12-07 17:06:42

标签: html mathjax

我在以HTML格式发布文字时遇到问题。 将文本(来自textarea)发布到要显示的新页面  可能具有以下属性:

  1. 包括由MathJax在两个美元符号之间处理的乳胶代码
  2. 需要保留换行符
  3. 可能包含html代码,例如输入标记
  4. 我尝试过以下方法:

    • 将“\ r \ n”子字符串替换为html“br”标记,然后将文本发布到div或span的innerHTML 保持换行符。但是我需要事先删除文本中的html部分,否则, 如果文本包含“输入”标签,我将在结果页面中有一个输入框!

      更重要的是,如果我删除html标签,那么我会意外删除子字符串 a< b,b> c,(如果'<'和'b','b'和'>'相邻,似乎StackOverFlow也无法处理它!)

    • 使用pre标签来保持换行符,然后MathJax不起作用!

    那么,有人可以救我这个问题吗?提前致谢!顺便说一句,我在项目上使用ruby on rails。

2 个答案:

答案 0 :(得分:0)

您可以允许MathJax处理<pre>标记,方法是将其从配置的skipTags块中的text2jax数组中删除。有关详细信息,请参阅documentation

答案 1 :(得分:0)

最后,我使用了上面提到的Cervone先生的skipTags,并将文本放入预标签中。要将HTML标记转换(并保存)为纯文本格式,我使用ruby提供的方法CGI.escapeHTML。