从绝对html超链接到本地​​路径的C#映射:如何?

时间:2019-06-19 06:52:21

标签: c# html web

以前的一位同事下载了我们大部分的旧公司常见问题解答,并将文件另存为html。

我需要找到一种方法来浏览所有绝对超链接,并将其替换为相对于根文件保存位置的相关位置。

例如如果文件保存在c:\ faq,我需要一种方法将所有链接从https://corporatewebsitefaq.com更改为c:\ faq。

另一个示例是链接可能指向主页(例如https://corporatewebsitefaq.com/index.html),但是此链接是子文件夹,例如c:\ faq \ subfolder \ page.html。我需要将此链接更新为c:\ faq \ index.html

此外,链接已在几个驱动器上移动,因此原始文件夹结构不再有效。

使用HTMLAgility Pack,我可以检索所有页面中的所有链接,这只是所有子文件夹中所有文件之间的实际映射,这导致了我的问题。

我玩弄了URI对象,但似乎无法将其钉住。

感谢您的帮助 标记

1 个答案:

答案 0 :(得分:1)

为什么不只将URL替换为本地路径?

text.Replace(“ http:// ....”,“ c:/ faq /”):