2013-08-27 41 views
0

我從包含版權字符的json文件中加載一個值。它存儲在json中作爲html實體 - ©,呈現©。顯示html的文本值© entity in input type = text?

Handlebars爲我呈現文件編輯器的方式是,如果字符串很長,它會變成textarea,如果它很短,那麼它會變成文本輸入框。當呈現爲<textarea>時,該值顯示爲其字符串版本 - 類似&copy; 2013 blah foo inc,而如果將該值寫入<input type='text'>值,則瀏覽器將其呈現爲其實體等效值,而不是該字符串本身。我無法弄清楚如何讓實體本身的文本值出現,而不是它的解釋形狀。

回答

0

訣竅是將&copy;更改爲&amp;copy;。顯示時&amp;變成&

的問題沒有指定的語言,但在JavaScript中,你會怎麼做

var content = "&copy; 2013 blah foo inc"; 
var encoded = content.replace(/&/g, '&amp;'); 
+0

好了,我不得不修改手把做到這一點或寫一個顯式值轉換助手這樣做,但只有在當從輸入'型= text'被讀取的情況下,由於上述當值在textarea內時不適用。嗯,不太理想,遠程。該值使用jQuery從字段中讀回,可能需要在該點之後查看重新轉換。 – frumbert

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); 
相關問題