我有一千个 HTML 文件需要清理以便打印。我需要删除该区域内的所有标签,<body></body>
只留下一个<div.pg>
。多余的标签是导航链接,会使打印件杂乱无章,而且会浪费纸张。标签的内容不一样,所以我无法找到并替换代码摘录,但标签是相同的,因为有三个<table>
标签需要删除,每个标签都有特定的类。有没有批处理技术或软件可以完成这项工作?我使用的是 Windows
答案1
一千个 HTML 文件……使它们清晰可打印。
抑制部分的简单解决方案打印时是使用 CSS 样式表
head
在元素中添加类似这样的内容
<link rel="stylesheet"
type="text/css"
media="print" href="print.css" />
请注意media="print"
- 此样式表仅适用于打印时,不适用于查看时。
如果你的 HTML 格式都类似,那么你可以用一个简单的模式匹配编辑命令对数千个 html 文件进行同样的操作
perl -i -ne "print; print '<link … />' if /<head>/" dir1/*.html dir2/*.html
在 print.css 中,为不想打印的元素(例如整个 div)设置 display:none。例如
#menu { display: none; }
更新:如果您的数千个 html 文件已经使用通用 CSS 样式表文件,解决方案就更简单了,无需在 html 文件中更改或添加任何内容,只需在现有样式表中添加一个部分来处理打印即可。例如:
@media screen
{
#menu {font-family:verdana,sans-serif;font-size:14px;}
}
@media print
{
#menu {display:none;}
}
答案2
使用 Notepad++。您可以在多个文件中查找/替换文本。