0

我正在从包含版权字符的 json 文件中加载一个值。它作为 html 实体存储在 json 中 -©呈现 ©。

Handlebars 正在为我呈现一个文件编辑器,这样如果字符串很长,它就会变成一个文本区域,如果它很短,它就会变成一个文本输入框。当呈现给 a 时<textarea>,该值显示为其字符串版本 - 类似于&copy; 2013 blah foo inc,而如果将该值写入一个<input type='text'>值,则浏览器将其呈现为其等效实体,而不是字符串本身。我不知道如何让实体本身的文本值出现,而不是它的解释形状。

4

2 回答 2

0

诀窍是&copy;变成&amp;copy;. 显示&amp;时变为&

问题没有指定语言,但在 JavaScript 中你会做

var content = "&copy; 2013 blah foo inc";
var encoded = content.replace( /&/g, '&amp;' );
于 2013-08-27T13:00:29.007 回答
0

据我了解,您希望将 html 实体名称 ( &copy;) 转换为输入类型text/中的字符 (©) textarea

var content = "&copy; 2014 blah foo inc";
var copyright = $('<div>').html('&copy;').text();
var encoded = content.replace(/&copy;/g, copyright);
alert(encoded); // or $('#input_id').val(encoded);
于 2014-03-09T07:44:56.827 回答