[英]Removing/editing HTML tags from local file
我想删除/编辑文件中的几个 HTML 标签。
最小示例:我的磁盘上有这个输入 HTML 文件
<!DOCTYPE html>
<html clang="en">
<head>
<meta charset="utf-8">
<title>test</title>
<style>
.remove-tag { color: #FF0000; }
.remove-div { color: #0000FF; }
</style>
</head>
<body>
<p>Hello world!</p>
<div class="remove-tag">
<p>I just want to remove the open/close div tags</p>
</div>
<div class="remove-div">
<p>I want the remove the div and all its content</p>
</div>
</body>
</html>
我想处理它以便我得到这个
<!DOCTYPE html>
<html clang="en">
<head>
<meta charset="utf-8">
<title>test</title>
<style>
.remove-tag { color: #FF0000; }
.remove-div { color: #0000FF; }
</style>
</head>
<body>
<p>Hello world!</p>
<p>I just want to remove the open/close div tags</p>
</body>
</html>
在您看来,最简单/最直接的方法是什么? 我希望能够编写某种脚本以在给定文件上本地运行以获取输出。 或者使用一些软件来执行它,并给出要遵循的规则列表。
我对 regex/sed/... 非常有信心,但是使用这些工具对于玩 HTML 标签是一个很大的NO NO(并且可以理解为什么)。
我已经阅读了有关 javascript( getElementsByClassName()
,...)的信息。 用 javascript 做了一些初步的步骤,安装 Node.js。 我什至无法打开文档来检索元素...看起来我必须安装/导入 jsdom。 我有点卡住了...
阅读 jQuery。 看过几个命令示例,但我不知道如何在本地文件上运行它们。 总的来说,我对 jQuery 完全是个菜鸟。
阅读 HTML 解析器。 Python 似乎有一个 HTML 解析器库,我可以用它来完成任务。
还希望有一个HTML解析器软件; 看起来没有。
还有其他提示吗?
试试这个脚本:
<script>
var removeTag= document.getElementsByClassName('remove-tag');
for(var i=0; i<removeTag.length;i++){
var innerHTML = removeTag[i].innerHTML;
let div = document.createElement('div');
div.innerHTML = innerHTML;
insertAfter(div,removeTag[i]);
removeTag[i].remove();
}
var removeDiv= document.getElementsByClassName('remove-div');
for(var i=0; i<removeDiv.length;i++){
removeDiv[i].remove();
}
function insertAfter(newNode, existingNode) {
existingNode.parentNode.insertBefore(newNode, existingNode.nextSibling);
}
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.