capau,
для данного варианта достаточно указать блок который нужно обработать
было
$('p, h1, h2, h3, h4, h5, h6, a').hyphenate();
можно сейчас
$("body").hyphenate();
$.fn.hyphenate = function() {
var all = "[абвгдеёжзийклмнопрстуфхцчшщъыьэюя]",
glas = "[аеёиоуыэю\я]",
sogl = "[бвгджзклмнпрстфхцчшщ]",
zn = "[йъь]",
shy = "\xAD",
re = [
new RegExp("(" + zn + ")(" + all + all + ")", "ig"),
new RegExp("(" + glas + ")(" + glas + all + ")", "ig"),
new RegExp("(" + glas + sogl + ")(" + sogl + glas + ")", "ig"),
new RegExp("(" + sogl + glas + ")(" + sogl + glas + ")", "ig"),
new RegExp("(" + glas + sogl + ")(" + sogl + sogl + glas + ")", "ig"),
new RegExp("(" + glas + sogl + sogl + ")(" + sogl + sogl + glas + ")", "ig")
];
return this.each(function() {
$(this).contents().filter(function() {
this.nodeType == 1 && $(this).hyphenate();
return this.nodeType == 3;
}).each(function(i, el) {
re.forEach(function(reg) {
el.data = el.data.replace(reg, "$1" + shy + "$2");
})
});
});
};