エスケープ不要でコードを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;
}