JSFiddle - React, Tailwind, and code Playground
by Sahin Deniz
HTML
<div id="keywords">
["pen3","me mide","pene me mide","quien quiere hacer sexo","hacer sexo","quiero sexo","quiere sexo","quieren sexo","quieres sexo","s.e.x.o","s e x o","s*e*x*o","sex*","sexo conmigo","relaciones conmigo","relaciones con un niño","relaciones con una niña","soy un niño","soy una niña","quiero coger","quiere coger","coger con alguien","coger conmigo","hoy por la noche","estoy libre","libre hoy","libre esta noche","necesito pene","necesito pene","necesito pen3","necesito pen*","sexy girl","penes de +","ver porno","como ver culos","como ver penes","como ver tetas","como ver concha","sexo bien rico","bien rico","sexo rico","sexo con migo","sexo con mi","sitios de pornografia","pornoweb ","sitios de porno","sitio de porno","sexo sexy","porno sexo","sexo porno","sale el semen","sale semen","bien culera","culera","culero","bien culero","penesote","cuanto cuestas mamasita","mamasita","cuanto cuestas","tecnicas de masturbacion","cachonda","estar cachonda","soy gay","gay es malo","saludable tener sexo","paginas porno","pajinas porno","pagina porno","pajina porno","que es sexo","me pica el ano","necesito sexo","quien necesita sexo","necesitas sexo","necesito sex*","necesito s e x o","necesito s.e.x.o","teniendo sexo oral","con mi novio","con su novio","mi novia","mi novio","quien quiere tener sexo","quien quiere hacer sexo","quien quiere ser mi amigo","busco novia","busco novio","chicas lindas","chica linda","quien ve porno","se las meta","me la meta","las nalgas","me pongo un condon","se siente tener un orgasmo","como se siente tener sexo","malo masturbarse","masturbarse diario","chuparmelo","chuparmela","quiere chupar","cuanto mide el verga","cuanto mide la verga","verga","vrga","me foie","foiar","follar","cm erecto","mi nepe","tamaño es tu pene","tamaño es mi pene","concha a tu padre","concha de tu","palpita el ano","cuantas pajas","tengo sida","nepe","nepes","la nalga mas grande","nalga grande","vrg","mi pn","su pn","cuanto te mide tu","cuanto me...
JavaScript 1.7
const keywordsStr = document.querySelector("#keywords").innerHTML;
let keywords = JSON.parse(keywordsStr);
// let keywords = ["enim", "consectetur", "lacus", "Cras", "feugiat"];
const contentsStr = document.querySelector("#contents").innerHTML;
const contents = JSON.parse(contentsStr);
/**
* @param {string} _char
* @param {string | number} singleChar
*/
function AppendAnyCharModifier(_char, singleChar) {
let length = 1;
let char = _char;
if (singleChar && typeof singleChar === "string") {
length = char.length;
char = singleChar;
}
return `${char}{${length},}[^\\p{L}\\p{N}]{0,}`;
}
keywords = keywords.map(keyword => {
let pattern = keyword
.replace(/[^\p{L}\p{N}]/gu, "")
.replace(/[\p{L}\p{N}]/giu, AppendAnyCharModifier);
pattern = pattern.replace(/\[\^\\p{L}\\p{N}]\{0,}$/, "");
return new RegExp(pattern, "ui");
});
const results = [];
contents.data.feed.edges.forEach(edge => {
if (!edge.node.content) return;
console.log(edge.node.content.length);
const matches = keywords
.map(keyword => edge.node.content.match(keyword))
.filter(Boolean);
if (matches && matches.length > 0) results.push(matches);
});
console.log(keywords);
console.log(results);