gpt4 book ai didi

c# - 将网址转换为有效的 href 值

转载 作者:行者123 更新时间:2023-11-30 18:00:16 25 4
gpt4 key购买 nike

首先,这似乎是之前应该问过的问题,但我找不到任何可以回答我问题的东西。

我的任务的基本概述是在基于用户定义的网址的网页上呈现 anchor 链接。由于地址是用户定义的,因此可以采用任何格式,例如:

我需要对这个值做的是将它设置为 anchor 标记的 href 属性。现在,问题是(至少在 Chrome 中)只有前两个示例可以工作,因为它们被识别为绝对 URL 路径。最后两个示例将重定向到同一域(即被视为相对路径)

所以最终的问题是:格式化这些值以确保使用一致的绝对路径的最佳方式是什么?我可以检查 http/https 并在缺少时添加它,但我希望可能有一个开箱即用的 .Net 类会更可靠。

此外,由于这是一个用户定义的值,它可能完全是垃圾,所以验证 URL 的函数也是一个不错的奖励。

最佳答案

几个月前我们遇到了这个问题,需要一种一致的方法来确保 URL 是绝对的。我们还想要一种删除 http(s):// 以在网页上显示 URL 的方法。

我想出了这个函数:

public static string FormatUrl(string Url, bool IncludeHttp = null)
{

Url = Url.ToLower();

switch (IncludeHttp) {
case true:
if (!(Url.StartsWith("http://") || Url.StartsWith("https://")))
Url = "http://" + Url;
break;
case false:
if (Url.StartsWith("http://"))
Url = Url.Remove(0, "http://".Length);
if (Url.StartsWith("https://"))
Url = Url.Remove(0, "https://".Length);
break;
}

return Url;

}

我知道您正在寻找“开箱即用”的库,但这可能会有所帮助。

我认为“开箱即用”解决方案的问题是函数不知道 URL 应该是 http:// 还是 https://。对于我的函数,我假设它是 http://,但对于某些 URL,您需要 https://。如果微软要在框架中构建这样的东西,它从一开始就会有错误。

关于c# - 将网址转换为有效的 href 值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10207210/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com