JSFiddle - React, Tailwind, and code Playground
HTML
<div id="content">
<p> Полюбила Васю я, оказался без хуя. Нахуя мне без хуя, когда с хуем дохуя?</p>
</div>
JavaScript
walk(document.body);
function walk(node)
{
// I stole this function from here:
// http://is.gd/mwZp7E
var child, next;
switch ( node.nodeType )
{
case 1: // Element
case 9: // Document
case 11: // Document fragment
child = node.firstChild;
while ( child )
{
next = child.nextSibling;
walk(child);
child = next;
}
break;
case 3: // Text node
makeItCultural(node);
break;
}
}
function makeItCultural(textNode)
{
var text = textNode.nodeValue;
//Хуй и его производные
text = text.replace(/(\s|^)Хуй/g, randomWord([" Пенис", " Член", " Детородный орган"]));
text = text.replace(/(\s|^)хуй/i, randomWord([" пенис", " член", " детородный орган"]));
text = text.replace(/Хуяр/g, "Фигар");
text = text.replace(/хуяр/i, "фигар");
text = text.replace(/(По(\s|)ху(й|я|ям|ю)($|.|\s|,|\?|!)|До пизды)/g, randomWord(["Неважно", "Индифферентно", "Безразлично"]));
text = text.replace(/(по(\s|)ху(й|я|ям|ю)($|.|\s|,|\?|!)|до пизды)/i, randomWord(["неважно", "индифферентно", "безразлично"]));
text = text.replace(/(На(\s|)ху(й|ю)($|.|\s|,|\?|!)|(В|Ф)(\s|)п(из|ес)ду)/g, randomWord(["К чёрту", "К чертям собачьим"]));
text = text.replace(/(на(\s|)ху(й|ю)($|.|\s|,|\?|!)|(в|ф)(\s|)п(из|ес)ду)/i, randomWord(["к чёрту", "к чертям собачьим"]));
text = text.replace(/(На(\s|)хуя($|.|\s|,|\?|!)|(в|ф)(\s|)п(из|ес)ду)/g, randomWord(["Зачем", "Для чего", ""]));
text = text.replace(/Ху(ё|е)в(аст|)(еньк|)(ы(й|х|е|м)|о(е|го|й|му)|ая|ий)/g, "Низкого качества");
text = text.replace(/ху(ё|е)в(аст|)(еньк|)(ый|ая|ое|ого|ой|ий|ому|ых|ые|ым)/i, "низкого качества");
text = text.replace(/Ху(ё|е)в(аст|)(еньк|)о/g, randomWord(["Плохо", "Печально", "Ужасно", "Кошмарно", "Уныло"]));
text = text.replace(/ху(ё|е)в(аст|)(еньк|)о/i, randomWord(["плохо", "печально", "ужасно", "кошмарно", "уныло"]));
text = text.replace(/(О|А)ху(ен|(ет|)итель)н/g, randomWord(["Замечетельн", "Превосходн", "Шикарн", "Отличн"]));
text =...