以前的一位同事下载了我们大部分的旧公司常见问题解答,并将文件另存为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对象,但似乎无法将其钉住。
感谢您的帮助 标记
答案 0 :(得分:1)
为什么不只将URL替换为本地路径?
text.Replace(“ http:// ....”,“ c:/ faq /”):