My code:
jQuery.fn.extend({
highlight: function(search){
var regex = new RegExp(\'(<[^>]*>)|(\'+ search.replace(/[.+]i/,\"$0\") +\')\',\'ig\');
You need to come up with a table of alternative characters and dynamically generate a regex based on that. For example:
var alt = {
'c': '[cCç]',
'a': '[aAãÃá]',
/* etc. */
};
highlight: function (search) {
var pattern = '';
for (var i = 0; i < search.length; i++) {
var ch = search[i];
if (alt.hasOwnProperty(ch))
pattern += alt[ch];
else
pattern += ch;
}
...
}
Then for search = 'cao' this will generate a pattern [cCç][aAãÃá]o.