Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/88.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
Html 发布将由MathJax处理的文本_Html_Mathjax - Fatal编程技术网

Html 发布将由MathJax处理的文本

Html 发布将由MathJax处理的文本,html,mathjax,Html,Mathjax,我在html表单中发布文本时遇到问题。 要发布到新页面以显示的文本(来自文本区域) 可能具有以下属性: 包括MathJax在两美元符号之间处理的latex代码 需要保留换行符 可能包括html代码,如输入标记 我尝试过以下方法: 将“\r\n”子字符串替换为html“br”标记,然后将文本发布到div或span的innerHTML中 保持换行。但是我需要事先删除文本中的html部分,否则, 如果文本包含一个“输入”标记,我将在结果页面中有一个输入框 此外,如果我删除html标记,那么我会意外地

我在html表单中发布文本时遇到问题。 要发布到新页面以显示的文本(来自文本区域) 可能具有以下属性:

  • 包括MathJax在两美元符号之间处理的latex代码
  • 需要保留换行符
  • 可能包括html代码,如输入标记
  • 我尝试过以下方法:

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

      此外,如果我删除html标记,那么我会意外地删除子字符串,如 ac,(如果“”相邻,似乎StackOverFlow也无法处理它!)

    • 使用pre标记来保持换行符,那么MathJax就不起作用了

    有人能帮我解决这个问题吗?提前谢谢!顺便说一下,我在我的项目中使用ruby on rails。

    您可以允许MathJax处理
    标记,方法是将它们从配置的
    text2jax
    块中的
    skipTags
    数组中移除。更多细节请参见。

    最后,我使用了上文提到的skipTags,并将文本放入pre标记中。为了将HTML标记转换(并保留)为纯文本格式,我使用ruby提供的一个名为CGI.escapeHTML的方法。

    谢谢!但是,我将再次面临文本可能包含输入标记(或任何其他HTML标记)的问题,那么如何将标记显示为纯文本而不是输入框?对不起,我没有完全理解您的意图。对于不使用Ruby的用户,您可以执行
    text.replace(//&/g,“&;”).replace(//g,“”)
    来转义存储在变量
    text
    中的字符串内容。您的方法当然也可以完成此任务!