更改href=";示例“;到href="/例如“;

本文关键字:href quot 例如 更改 示例 | 更新日期: 2023-09-27 18:22:05

我有一个模型,它从数据库中返回html,我需要更改没有正斜杠的链接(但显然不会接触到带有http:或已经斜杠的硬编码链接)

一个例子href="example"到href="/example"href中的值是未知的,可以是任何值。因此,如果它只是一个没有斜杠的单词,请添加它。如果它已经有http:或斜杠,请不要将其更改为

更改href=";示例“;到href="/例如“;

您是否尝试过使用Replace来完成此操作?

你可以让它取代href=">>href="/

String s = "href='"example'"";
s.Replace("href='"", "href='"/");

这将返回

href="/example"

以下是您可能需要做的概述:

  1. 分析HTML
  2. 找到所有链接
  3. 对于每个链接:
    1. 将href属性值解析为URL
    2. 如果它是相对的并且不是以/或~/开头,则使用前缀/并设置href属性
  4. 将解析后的HTML转换回文本

您可以使用HtmlAgilityPack和System.Uri进行解析。