エスケープ不要でコードをHTMLに書く
コメント内にコードを書く
コードをエスケープせずにHTMLに書きたい。コードをコメント内に記述して、JavaScriptで変換してしまおうという方法。
コードはpre内のコメントに記述します。
コードにコメント終端タグは記述できないので2バイト文字でエスケープしてください。
var pre = document.querySelectorAll("pre"); for(var i = 0; i < pre.length; i++){ var inner = pre[i].innerHTML; var posS = inner.indexOf("<!--"); var posE = inner.lastIndexOf("-->"); if(posS == -1 || posE == -1){ continue; } var before = inner.substring(0, posS); var sourse = inner.substring(posS+4, posE); var after = inner.substring(posE+3); sourse = sourse.replace(/ーー>/g, "-->"); sourse = sourse.replace(/&/g, "&"); sourse = sourse.replace(/</g, "<"); sourse = sourse.replace(/>/g, ">"); sourse = sourse.replace(/"/g, """); if(!before){ sourse = sourse.replace(/^\r?\n/, ""); } pre[i].innerHTML = before + sourse + after; }