我正在将网站从一个平台迁移到另一个平台。部分要求是维护可能被加入书签的URL,我将使用重写规则。
因为旧系统很乱,我需要特别注意并确保所有链接都能正常工作。因为有很多页面,手动执行此操作是不现实的 - 我需要自动化该过程。顶部有一个主菜单,右下方有一个子菜单,还有一个侧面菜单 - 但这可能对任何随机页面都不真实。
第一步,我要做的是进行某种解析并生成网站的简化版本。在这个简化版本中,我只担心链接。
所以我想做的是:解析页面并丢弃大部分html,除了任何链接(内部或外部)。如果一组链接都存在于特定的html标记内(例如,作为菜单的<ul>
或充当内容区域的<div>
,我想保留html的嵌套标签。
基本上我最终想要的是:
index.html
<html>
<body>
<tag>
<a href='page2.html'>Menu Item 1</a>
<a href='page3.html'>Menu Item 2</a>
<a href='page4.html'>Menu Item 3</a>
</tag>
<tag>
<a href='page5.html'>SubMenu Item 4</a>
<a href='page6.html'>SubMenu Item 5</a>
<a href='page7.html'>SubMenu Item 6</a>
</tag>
<tag>
<a href='page8.html'>Side Menu Item 1</a>
<a href='page9.html'>Side Menu Item 2</a>
<a href='page10.html'>Side Menu Item 3</a>
</tag>
<tag>
<a href='site.com'>Content External link</a>
<a href='about_us.html'>Content Internal Link</a>
</tag>
</body>
</html>
<tag>
可以是任何块样式的html标记 - 实际上不必是链接共享的第一个标记。
脚本/程序不一定要足够聪明才能知道“这是一个菜单”或“这是一个导航面板”;
,只要它可以将第一个html标记中的链接分组,它们就足够了。那里有一个脚本或软件吗?或者我会写自己的吗?
如果我自己编写,我该如何进行html解析?我听说正则表达式不是答案,因为它们无法跟踪状态,因此无法了解嵌套标记结构。