A recursive, case-insensitive, keyword matcher.
function matches(str, kw) {
var m = [];
if (kw.constructor !== Array) { kw = [kw]; }
for (var i = 0; i < kw.length; i++) {
var f = str.match(new RegExp(kw[i], 'gi'));
if (f) { m = m.concat(f); }
}
return m;
}
matches('I love Christmas!', ['christ', 'christmas']);
//[ 'Christ', 'Christmas' ]
matches('Poopoo Face', 'poo');
//[ 'Poo', 'poo' ]