Как написать функцию «Обрезать теги HTML» в C # - PullRequest
1 голос
/ 13 октября 2011

Я получил ниже код функции StripHTMLTags, который отлично работает в VBSCript, теперь я хочу, чтобы была написана та же функция C #

Function StripHTMLTags(ByVal sHTML)
    Dim objRegExp, sOutput

    sHTML = Replace(Replace(Trim(sHTML & ""), "&lt;", "<"), "&gt;", ">") ' ** PREVENT NULL ERRORS **
    If Len(sHTML) > 0 Then
        Set objRegExp = New RegExp
        With objRegExp
            .IgnoreCase = True
            .Global = True
   .Pattern= "<[^>]+>"
            ' ** REPLACE ALL HTML TAG MATCHES WITH THE EMPTY STRING **
            sOutput = .Replace(sHTML, "")
        End With
        Set objRegExp = Nothing
        StripHTMLTags = sOutput
    Else
        StripHTMLTags = ""
    End If
End Function

Пожалуйста, предложите, поскольку это действительно смущает меня.

Ответы [ 2 ]

1 голос
/ 13 октября 2011

Вы пробовали Regex.Replace ?

Пример:

    static string stripHTMLTags1(string html)
    {
        string pattern = @"<[^>]+>";
        var expression = new Regex(pattern);

        return expression.Replace(html, String.Empty);
    }

    static string stripHTMLTags2(string html)
    {
        // From http://gskinner.com/RegExr/
        string pattern = @"</?\w+((\s+\w+(\s*=\s*(?:"".*?""|'.*?'|[^'"">\s]+))?)+\s*|\s*)/?>";
        var expression = new Regex(pattern);

        return expression.Replace(html, String.Empty);
    }

RegExr

0 голосов
/ 13 октября 2011

Вот регулярные выражения для удаления тегов из ввода HTML:

Также см. это сообщение о переполнении стека , в котором более подробно рассматривается использование C # для удаления тегов HTML.

Крис.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...