6

MVC 3 と Razor View エンジンを使用しています。

私がやろうとしていること

MVC 3 を使用してブログを作成しています。HTML の書式設定タグなどをすべて削除したいと考えています<p> <b> <i>

私は次のコードを使用しています。(それは動作します)

 @{
 post.PostContent = post.PostContent.Replace("<p>", " ");   
 post.PostContent = post.PostContent.Replace("</p>", " ");
 post.PostContent = post.PostContent.Replace("<b>", " ");
 post.PostContent = post.PostContent.Replace("</b>", " ");
 post.PostContent = post.PostContent.Replace("<i>", " ");
 post.PostContent = post.PostContent.Replace("</i>", " ");
 }

これを行うためのより良い方法が絶対に必要であると感じています。誰でもこれについて私を案内してもらえますか。

4

3 に答える 3

23

Alex Yaroshevichに感謝します、

これが私が今使っているものです。

post.PostContent = Regex.Replace(post.PostContent, @"<[^>]*>", String.Empty);
于 2012-07-31T07:15:20.593 に答える
2

正規表現は遅いです。これを使用すると、より高速になります。

public static string StripHtmlTagByCharArray(string htmlString)
{
    char[] array = new char[htmlString.Length];
    int arrayIndex = 0;
    bool inside = false;

    for (int i = 0; i < htmlString.Length; i++)
    {
        char let = htmlString[i];
        if (let == '<')
        {
            inside = true;
            continue;
        }
        if (let == '>')
        {
            inside = false;
            continue;
        }
        if (!inside)
        {
            array[arrayIndex] = let;
            arrayIndex++;
        }
    }
    return new string(array, 0, arrayIndex);
}

http://www.dotnetperls.com/remove-html-tagsをご覧ください。

于 2012-08-01T05:53:15.927 に答える