jQuery: filtrare l'output HTML

jQuery: filtrare l'output HTML

Premesso che la creazione di un filtro per l'output HTML dovrebbe essere sempre eseguita da un linguaggio lato server, si può anche replicare un tale filtro utilizzando jQuery.

Possiamo creare la seguente funzione di utility:


(function($) {
	$.sanitize = function(input) {
		var output = input.replace(/<script[^>]*?>.*?<\/script>/gi, '').
					 replace(/<[\/\!]*?[^<>]*?>/gi, '').
					 replace(/<style[^>]*?>.*?<\/style>/gi, '').
					 replace(/<![\s\S]*?--[ \t\n\r]*>/gi, '');
	    return output;
	};
})(jQuery);

Esempio d'uso:


$(function() {
	$('#sanitize').click(function() {
		var $input = $('#input').val();
		$('#output').text($.sanitize($input));
	});

});

Torna su