从C#程序中剥离HTML,将网站集成到Jira中

时间:2017-12-04 17:03:54

标签: c# html

我正在开发一个集成在Jira中的网站。该网页有一个"描述"部分。当我在网页上写一个描述时,这看起来没问题,但是当它被导入Jira时,故障单中的html标签:

ex: < p > this is the description < p >

而不仅仅是&#39;这是描述&#39;

以下是C#代码中的描述调用:

var ticket = new Ticket()
{
    Id = 0,
    IsActive = true,
    TicketDescription =
        string.IsNullOrEmpty(issue.Description)
            ? string.Empty
            : issue.Description.Replace(Environment.NewLine, "<br />"),
    AssignedToId = assignedToUser.SecurityUserId,
    TicketTypeId = type == 0 ? 1 : type,
};

我需要添加什么才能添加到TicketDescription,以便始终剥离html?

2 个答案:

答案 0 :(得分:0)

您可以创建一个字符串扩展名来删除所有标记:

public static string RemoveHtmlTags(string input)
{
   return Regex.Replace(input, "<.*?>", String.Empty);
}

然后你就可以使用它:

TicketDescription =
        string.IsNullOrEmpty(issue.Description)
            ? string.Empty
            : issue.Description.RemoveHtmlTags()

答案 1 :(得分:0)

我会创建一个像这样的扩展方法:

/// Strips all HTML tags from a string
public static string StripHtml(this string html)
{
    if (string.IsNullOrEmpty(html))
        return html;
    return Regex.Replace(html, @"<(.|\n)*?>", " ").Trim();
}

您可以在方便时自定义替换令牌。在这种情况下,我只使用了一个空格。

然后只需使用它代替Replace