如何使用 htmlparser2 转换 html 中的内容

简阿

我需要在nodejs环境中反转html中的“textContent”和“title”文本,我该怎么做

这是我目前的代码, htmlparser2": "^6.0.0

import * as htmlparser2 from "htmlparser2";

let data = `
<!DOCTYPE html>
<html>
  <body title="hello" class="d-flex">
    body
    <h1>abc</h1>
    <p>def</p>
  </body>
</html>
`;

const reverse = (str: string) => str.split("").reverse().join("");

var handler = new htmlparser2.DomHandler(function (error, tree) {
  //...
});

var parser = new htmlparser2.Parser(handler);
parser.parseComplete(data);

我希望转换后得到这个结果

<!DOCTYPE html>
<html>
  <body title="olleh" class="d-flex">
    ydob
    <h1>cba</h1>
    <p>fed</p>
  </body>
</html>

谢谢❤️

简阿

我花了一些时间来构建这个库来解决这个问题。html-静态

import { AstAttrbute, AstText, htmlAst, traverse } from "html-static";

let data = `
<!DOCTYPE html>
<html>
  <body title="hello">
    body
    <h1 id="app">abc</h1>
    <p class='foo'>def</p>
  </body>
</html>
`;

const ast = htmlAst(data);

const reverse = (str) => str.split("").reverse().join("");

traverse(ast, {
  text(text: AstText) {
    text.value = reverse(text.value);
  },
  attr_title(attr: AstAttrbute) {
    attr.value = reverse(attr.value);
  },
}).then((_) => {
  console.log(ast.toString());
});

最后我得到了这个结果

<!DOCTYPE html><html><body title="olleh">ydob<h1 id="app">cba</h1><p class="foo">fed</p></body></html>

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在 Node.js 中使用 htmlparser2 选择 html 节点的文本内容

使用htmlparser2将html字符串解析为json

如何使用python HTMLParser从HTML页面中抓取特定值

如何在JSP,Servlet应用程序中以html格式转换电子邮件的内容?

如何在 C# 中的 XML 到 JSON 转换期间忽略 HTML 内容的#cdata 部分

如何在Angular 2 / Typescript中附加HTML内容

如何从html页面读取td内容并转换为Dataframe

如何将原始html转换为我可以使用Selenium测试的内容?

使用AWS SES,如何将电子邮件内容转换为HTML?

使用jsPdf和Html2Canvas将HTML页面转换为Angular中的PDF

JavaScript:使用 .forEach 将 JSON 属性转换为 html 内容

HTML2Canvas将溢出的内容转换为图像

使用python中的HTMLParser解析html中的特定链接?

使用JavaScript,如何将HTML字符串转换为HTML标签和文本内容的数组?

如何使用javascript动态更改html中svg的文本内容

如何使用grep命令在html中的标签之间提取内容

如何仅使用php动态选择html中的选定内容?

如何使用XMLStarlet访问Bash中HTML标记的内容

如何使用CGI Perl在HTML表格中呈现xml内容

如何使用车把使JSON文件中的内容填充HTML?

如何使用 Python 3 从 html 标签样式中获取内容?

如何使用Beautifulsoup检索此html中的特定内容?

如何使用Javascript / jQuery从div内容中剥离HTML标签?

如何使用转到 html 内容中的脚本的参数?

如何使用javascript清空html内容中的跨度?

如何使用 BeautifulSoup 获取 HTML 中按钮的内容

如何模糊 HTML 中的某些内容?

如何在html中响应内容对齐?

如何在js中修剪html内容?