Конвертировать / Заменить весь текст на HTML-странице с HTML-сущностями - PullRequest
0 голосов
/ 22 мая 2018

Мне нужно автоматически редактировать некоторые HTML-файлы, хранящиеся в базе данных.Я делаю сценарий, используя node.js, чтобы получить файлы, затем я использую jsdom и jquery, чтобы сделать нужные мне выпуски.

Наконец, мне нужно сохранить файлы обратно в базу данных, однако весь текстдолжны использовать сущности HTML.

Так, например, эта страница:

<html>
 <header>
  <title>Título da página</title>
 </heade>
 <body>
  <h1> Aqui também há acentos </h1>
 </body>
</html>

Должна быть сохранена как:

<html>
 <header>
  <title>T&#xED;tulo da p&#xE1;gina</title>
 </heade>
 <body>
  <h1> Aqui tamb&#xE9;m h&#xE1; acentos </h1>
 </body>
</html>

Не похоже, что JSDOM API имеетэта опция, но мне трудно найти все текстовые элементы с помощью jquery.Любое предложение?

Спасибо,


PS: Некоторые из вещей, которые я пробовал:

    function recursiveReplace(node) {
    if (node.nodeType == 3) { // text node
        node.nodeValue = node.nodeValue.replace("1", "۱");
    } else if (node.nodeType == 1) { // element
        $(node).contents().each(function () {
            recursiveReplace(this);
        });
    }
}

recursiveReplace(document.body);

с здесь

И

$('body').text()

с здесь , который заменяет все тело только текстом, а не текстом внутри тегов.

И некоторые другие ...

...