やりたいこと
HTMLのフォームから送られてきた文字列を変数に格納し、それをinnerHTMLに挿入し、HTMLに反映させたい。
- HTMLのフォームに
<u>アンダーライン</u>
と入力 - JavaScriptの変数に格納
- innerHTMLなどで変数の中身をページに表示
発生する問題
<u>アンダーライン</u>
と表示したいが
アンダーライン
 ̄ ̄ ̄ ̄ ̄ ̄ ̄
と表示される。
コード
//フォームから変数に格納時に使用
function deEsc(str){
str=str.replace(/'/g, "\'");
str=str.replace(/"/g, '\"');
str=str.replace(/</g, "\<");
str=str.replace(/>/g, "\>");
str=str.replace(/&/g, "\&");
return str;
}
//変数をinnerHTMLなどで表示するときに使用
function enEsc(str){
str=str.replace(/'/g, "'");
str=str.replace(/"/g, '"');
str=str.replace(/</g, "<");
str=str.replace(/>/g, ">");
return str;
}
以下解説
deEscはフォームから受け取った文字を変数に代入する際に使う。
enEscはinnerHTMLに挿入する際に使う。
環境によって\が¥になる場合がある。
いつも汚くてすんません。