JavaScript (HTML5): 文字実体参照

character-reference
sample を実行

< と > と & を文字実体参照に変換します。
snippets.feb19.jp では HTML ファイルや XAML ファイルを掲載する前に、このプログラムを通過させることで、タグが HTML として解釈されないようにし、タグをブラウザ上に表示させることが出来るようにしています。

js: character-reference.js

(function() {
	function SnippetReference() {
		this.textarea = document.createElement("textarea");
		this.textarea.style.width = "400px";
		this.textarea.style.height = "200px";
		this.pre = document.createElement("pre");
		this.pre.style.backgroundColor = "#ffeeee";
		this.textNode = document.createTextNode("");
		this.pre.appendChild(this.textNode);
		var that = this;
		this.textarea.onkeyup = function() {
			that.convert();
		}
		document.body.appendChild(this.textarea);
		document.body.appendChild(this.pre);
	};
	SnippetReference.prototype.convert = function() {
		var value = this.textarea.value;
		value = value.replace(/&/g, "&amp;");
		value = value.replace(/</g, "&lt;");
		value = value.replace(/>/g, "&gt;");
		this.textNode.data = value;
	};
	function loaded() {
		window.snippet = new SnippetReference();
	}
	
	if(document.addEventListener){
		document.addEventListener("DOMContentLoaded", loaded, false);
	} else if(/msie/.test(navigator.userAgent.toLowerCase())){
		try {
			document.documentElement.doScroll("left");
		} catch(error){
			setTimeout(arguments.callee, 0);
			return;
		}
		loaded();
	}
}).call(this);