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

выделение слов в тексте
IamAnton,
<!DOCTYPE HTML>
<html>

<head>
    <title>Untitled</title>
    <meta charset="utf-8">
    <style type="text/css">
        .br {
            text-decoration: underline;
            color: #0000FF;
        }
    </style>
</head>

<body>
    <div class="content">
        Как выделить иностранные слова в html файле с помощью скрипта Перевожу иностранную книгу по программированию на Java. Результат оформляю в файл html, чтобы можно было добавить туда картинки, код, выделить код в отдельные фрагменты и т. д. Идея не новая.
        В тексте много иностранных терминов. Я их хочу выделить, скажем, тегами &lt;b> или &lt;span> со стилем. Но выделять вручную неудобно да и утомительно. Можно ли написать скрипт, выделяющий иностранные слова определенным тегом?
    </div>
    <script>
        window.addEventListener('load', function() {
            const replacing = elem => {
                for (let node, textNodes = document.createTreeWalker(elem, NodeFilter.SHOW_TEXT, null, false); node = textNodes.nextNode();) {
                    let html = node.nodeValue.replace(/([a-z]+)/gi, '<span class="br">$1</span>');
                    let div = document.createElement('div');
                    div.innerHTML = html;
                    node.replaceWith(...div.childNodes)
                }
            }
            let elem = document.querySelector(".content");
            replacing(elem);
        })
    </script>
</body>

</html>
Ответить с цитированием