leodutra
10/25/2013 - 3:44 PM

Simplifies texts using replacement patterns.

Simplifies texts using replacement patterns.

/**
 * Simplifies texts using replacement patterns.
 * ex: 
 * 	var simpl = new Simplifier()
 * 	simpl.replacements['x'] = /[y]/ // add pattern 
 * 	simpl.simplify('ÒóÉios')
 */
var Simplifier = (function() {

	function Simplifier() {}

	Simplifier.prototype = {
		
		simplify: function(str) {
			var replacements = this.replacements
			str = ''+(str || '')

			for (var char in replacements) {
				str = str.replace(new RegExp(replacements[char].source, 'gm'), char)
			}
			return str
		},

		replacements: {
			'A': /[\u00C0-\u00C6]/,
			'E': /[\u00C8-\u00CB]/,
			'I': /[\u00CC-\u00CF]/,
			'O': /[\u00D2-\u00D6]/,
			'U': /[\u00D9-\u00DC]/,
			'a': /[\u00E0-\u00E6]/,
			'e': /[\u00E8-\u00EB]/,
			'i': /[\u00E8-\u00EB]/,
			'o': /[\u00F2-\u00F6]/,
			'u': /[\u00F9-\u00FC]/,
			'C': /[\u00C7]/,
			'c': /[\u00E7]/
		}
	}

	return Simplifier
})();