Показать сообщение отдельно
  #32 (permalink)  
Старый 09.08.2022, 07:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

Alikberov,

Сергей Ракипов,
добавил фикс от Alikberov,
<!doctype html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style type="text/css">
        .separated {
            width: 80%;
            margin: 30px auto;
        }

        .separated.min {
            width: 30%;
        }

        .test {
            font-size: 2rem;
        }
    </style>
    <script>
        var WholeWord = /[абвгдеёжзийклмнопрстуфхцчшщъыьэюя]+/ig;
        var Prefixes = /^(над?|объ?|отъ?|пере|подъ?|по|предъ?|при|про|разъ?|рас|со)/i;

        function Separatist(part, pos, text) {
            var slab, next, seps = [];
            var pref;
            pos += part.match(/^\s*/)[0].length;
            part = part.replace(/^\s+/, "");
            while ((pref = part.match(Prefixes)) && pref[0] != "") {
                seps.push(pref[0]);
                part = part.substr(pref[0].length);
            }
            if (slab = part.match(/^й[ао][дшк]+[аеёиоуыэюя]?/)) {
                seps.push(part.substr(0, slab[0].length));
                part = part.substr(slab[0].length);
            }
            while (part.length) {
                if (slab = part.match(/^[бвгджзклмнпрстфхцчшщ]+[аеёиоуыьэюя](й|[бвгджзклмнпрстфхцчшщ]+[ъь]?$)/i)) {
                    seps.push(slab[0]);
                    part = part.substr(slab[0].length);
                } else
                if (slab = part.match(/^[бвгджзклмнпрстфхцчшщ]+[аеёиоуыьэюя]?/i)) {
                    if (next = part.substr(slab[0].length).match(/^([бвгджзклмнпрстфхцчшщ]+)[бвгджзклмнпрстфхцчшщ][ъь]?[аеёиоуыэюя]?/i))
                        slab[0] += next[1];
                    seps.push(slab[0]);
                    part = part.substr(slab[0].length);
                } else
                if (slab = part.match(/^[аеёиоуыэюя][бвгджзклмнпрстфхцчшщь]*/i)) {
                    if (slab[0].length > 1 && part.charAt(slab[0].length).match(/[аеёиоуыэюя]/i))
                        slab[0] = slab[0].substr(0, slab[0].length - 1);
                    seps.push(slab[0]);
                    part = part.substr(slab[0].length);
                } else {
                    seps.push(part);
                    part = "";
                }
            }
            if (seps.length > 1 && seps[0].length == 1)
                seps[0] = seps.shift() + seps[0];
            if (seps.length > 1 && seps[seps.length - 1].length == 1)
                seps[seps.length - 2] = seps[seps.length - 2] + seps.pop();
            return seps.join("\u00AD");
        }
        document.addEventListener("DOMContentLoaded", function() {

            let elems = document.querySelectorAll(".separated");
            // указать нужные классы
            console.time("time for separated");
            elems.forEach(el => {
                let txt;
                walk = document.createTreeWalker(el, NodeFilter.SHOW_TEXT, null, false);
                while (txt = walk.nextNode()) txt.data = txt.data.replace(WholeWord, Separatist);

            });
           console.timeEnd("time for separated");
        })
    </script>
</head>

<body>
    <div class="separated">тускловатый И я постоянно спрашиваю представителей Литкома, группы, ведь это мнение важно. Мы можем посмотреть у других местностей, какие есть проекты, например, как те же открытки. Он затрагивает денежный ресурс. мы можем все это напечатать и сделать, но что
        если они группам не нужны войлок, йодомарин в йошкар-оле? И только вот эта связь через представителя группы с Комитетом осуществляет продуктивность, как я это понимаю сегодня и как я понимал, когда был Литкомом группы. Мы просим приносить обратную
        связь, <span class="test">потому что проводится много мероприятий,</span> бывают периодически опросы переводческого Комитета, ZOOM собрания, где регионы просят обратную связь и Литком — связующее звено. Наше служение — не только обеспечение литературой.
        Мало кто знает, что девяносто процентов всех денег АН идут с продажи литературы. Для миссий на развитие, рабочие поездки, обеспечение БУ Комитета литературой. Деньги на это идут с продажи литературы. И вот обо всем об этом рассказывет Литком,
        ведь новички приходят и те, кто выбирается на служение о многом не знают.</div>
    <div class="separated min">И я постоянно спрашиваю представителей Литкома, группы, ведь это мнение важно. Мы можем посмотреть у других местностей, какие есть проекты, например, как те же открытки. Он затрагивает денежный ресурс. мы можем все это напечатать и сделать, но что
        если они группам не нужны войлок, йодомарин в йошкар-оле? И только вот эта связь через представителя группы с Комитетом осуществляет продуктивность, как я это понимаю сегодня и как я понимал, когда был Литкомом группы. Мы просим приносить обратную
        связь, потому что проводится много мероприятий, бывают периодически опросы переводческого Комитета, ZOOM собрания, где регионы просят обратную связь и Литком — связующее звено. Наше служение — не только обеспечение литературой. Мало кто знает,
        что девяносто процентов всех денег АН идут с продажи литературы. Для миссий на развитие, рабочие поездки, обеспечение БУ Комитета литературой. Деньги на это идут с продажи литературы. И вот обо всем об этом рассказывет Литком, ведь новички приходят
        и те, кто выбирается на служение о многом не знают.</div>
</body>

</html>

Последний раз редактировалось рони, 09.08.2022 в 07:50.
Ответить с цитированием