繁体   English   中英

如何在javascript的html文本区域中显示单引号,双引号,换行符等字符

[英]How to allow showing caharcaters like single quote, double quotes, new line charcters in html text area in javascript

我面对

SyntaxError:未终止的字符串文字*

尝试在文本区域中设置值时出错。

在这里,文本值是动态的,并且是从后端接收的,可以包含任何字符。

经过我的第一次调查,我发现错误是由于文本中的某些特殊字符引起的,例如单引号,双引号和换行符。

我该如何解决该问题。

编辑:好的,所以按照您的评论,在php级别更改它不是一个选择。

在stackoverflow上,对于类似问题有很好的答案。

function escapeHtml(text) {
  return text
      .replace(/&/g, "&")
      .replace(/</g, "&lt;")
      .replace(/>/g, "&gt;")
      .replace(/"/g, "&quot;")
      .replace(/'/g, "&#039;");
}

在将变量应用于文本区域之前,将其传递给此函数。 伪代码;

var yourTextVariable = "random/stuff&in\Here";
var formattedVariable = escapeHtml(yourTextVariable);
$('textarea').html($formattedVariable);

最初由Kip在HtmlSpecialChars等效的Java语言中回答?

您需要转义所有HTML特殊字符:

  • &quot; 引用(“)
  • &gt; 大于(>)
  • ...

以下是完整列表: HTML:特殊字符

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM