我有一個textarea用於評論,當鏈接被按下時加載div的內容,把這些內容放在顯示的textarea中。在textarea中轉義html實體
一切工作正常,直到我介紹了一種方式來顯示interpoints(我在談論·
實體)。這些在div中顯示得很好,但問題是它們也顯示爲實際textarea中的點,這是我不想要的。我希望它們在textarea中顯示爲{*}
,因爲這是在服務器端轉換爲·
的字符串。
這是我用來處理標籤的顯示功能:
function HtmlDecode(str)
{
var ta = document.createElement("textarea");
ta.innerHTML = str.replace(/</g, "<").replace(/>/g, ">").replace(/·/g, "{*}");
toReturn = ta.value;
ta = null;
return toReturn.replace(/<br\s*\/?>/mg, "\n");
}
I輸出像這樣的textarea:
anotherDiv.innerHTML = '<textarea ...>' + HtmlDecode(div.innerHTML) + '</textarea>';
我不明白是爲什麼,如果我改變例如,/·/g
替換爲/asdf/g
,任何asdf
都將被替換得很好。
底線:如何讓我的textarea顯示{*}
而不是實際的中間點?
該符號被稱爲[interpunct](http://en.wikipedia.org/wiki/Interpunct):P – Ernesto 2011-04-08 22:25:39