Показать сообщение отдельно
  #3 (permalink)  
Старый 11.07.2016, 22:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,112

Расстановка переносов в html тексте на русском языке
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");
            })
        });
    });
};

Последний раз редактировалось рони, 12.07.2016 в 00:33.
Ответить с цитированием