是否有任何软件可以复制html页面的定义部分?

时间:2012-01-02 16:13:14

标签: html templates

我正在更改旧网站的模板,不幸的是,它是静态的,我需要更改每个页面的代码。是否有软件或技巧可以帮我自动完成?例如,如果使用软件,我希望能够告诉软件要保留哪些部件以及从新布局中复制哪些部件。

2 个答案:

答案 0 :(得分:0)

Template::Extract将允许您使用TT2语法编写模板,并使用它将文档中的数据提取到数据结构中。然后,您可以使用TT2将该数据结构放回到不同的模板中(或者您可以将其他内容与数据结合起来,例如将其存储在数据库中供以后使用)。

答案 1 :(得分:0)

Dreamweaver可以在整个网站上进行非常强大的搜索和替换。如果您现有的页面无情一致,那么搜索和替换序列可以将旧站点变为新站点。

如果您使用Dreamweaver模板构建了网站,则可以apply a revised template to update the entire site。所以你可以做的是为你的新网站设计制作一个.dwt模板,然后执行一些搜索并替换以添加特殊注释,使你的现有页面看起来使用那个.dwt,然后告诉Dreamweaver更新你的所有页面将获得应用的模板。听起来很疯狂但我实际上已经为一个数千页的网站做了这件事。

两者都非常繁琐,但至少你可以看到它发生。您还可以运行复杂的搜索和使用perl等工具从Linux命令行替换命令。但是如果你要掌握perl,那么建议使用@Quentin的Template :: Extract模块是一种更好的方法。

您还可以使用XSLT将页面转换为新外观。 XSLT最近不受欢迎并且难以学习,但它在具有属性的嵌套标签上运行,因此比搜索和替换更了解HTML结构。 Here's a guide to converting to XML and then transforming.

这种流行的方式是在浏览器(或类似node.js)中读取HTML文档,通过操作DOM对其进行转换,然后将新文档另存为HTML。 W3Schools对“HTML DOM - 更改HTML元素”进行了非常温和的介绍,但大多数人都会使用jQuery来调整DOM。在上有一个很好的例子(Stackoverflow将我限制为两个链接,抱歉 2ality.com标题为“使用Node.js和jQuery转换HTML”。

这一切都不容易,而且可以说应该是这样。基于DOM的搜索和替换在HTML编辑器中将是非常酷的功能,但我不知道有人实现了它。