首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >正则表达式-将target=“空白”添加到内容中的所有<a>标记链接

正则表达式-将target=“空白”添加到内容中的所有<a>标记链接
EN

Stack Overflow用户
提问于 2010-05-11 07:28:17
回答 4查看 5.4K关注 0票数 5

有人能帮我在C#.net中创建一个正则表达式,将target="_blank"添加到我内容中的所有<a>标记链接吗?

如果链接已有目标集,则将其替换为"_blank"。其目的是在新窗口中打开“我的内容”中的所有链接。

感谢您的帮助

-dotnet岩石

EN

回答 4

Stack Overflow用户

发布于 2011-04-23 14:59:44

有很多关于的提及,所以您可以使用Html Agility Pack

代码语言:javascript
运行
复制
HtmlDocument document = new HtmlDocument();
document.LoadHtml(yourHtml);

var links = document.DocumentNode.SelectNodes("//a");
foreach (HtmlNode link in links)
{
    if (link.Attributes["target"] != null)
    {
        link.Attributes["target"].Value = "_blank";
    }
    else
    {
        link.Attributes.Add("target", "_blank");
    }
}

这将向文档中的所有锚点添加(或在必要时替换) target='_blank'

票数 10
EN

Stack Overflow用户

发布于 2011-07-06 17:33:28

代码语言:javascript
运行
复制
RegEx.Replace(inputString, "<(a)([^>]+)>", "<$1 target=""_blank""$2>")

它还将在那些已经存在目标锚点标签中添加目标

票数 5
EN

Stack Overflow用户

发布于 2015-03-27 06:58:48

我使用了一个扩展方法,类似于Alex展示的方法。方法:

代码语言:javascript
运行
复制
// Return the input string with all parsed HTML links having the "target" attribute set to specified value
// Links without a target attribute will have the attribute added, existing attributes values are updated
public static string SetHtmlLinkTargetAttribute(this string inputHtmlString, string target)
{
    var htmlContent = new HtmlDocument();
    htmlContent.LoadHtml(inputHtmlString);

    // Parse HTML content for links
    var links = htmlContent.DocumentNode.SelectNodes("//a");
    foreach (var link in links)
    {
        link.SetAttributeValue("target", target);
    }

    return htmlContent.DocumentNode.OuterHtml;
}

并用它来清理我的链接:

代码语言:javascript
运行
复制
// Enforce targets for links as "_blank" to open in new window
asset.Description = asset.Description.SetHtmlLinkTargetAttribute("_blank");
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2807124

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档