2012-08-24 2 views
1

저는 토론 웹 사이트 (http://www.wrangle.in/)에서 작업 중입니다. 주제에 대한 HTML 형식의 설명의 새로운 기능을 추가했습니다. HTML 형식의 설명은 데이터베이스에 저장됩니다. 주제가로드되면 설명이 HTML 형식으로 표시됩니다. 그러나 메타 설명은 문자열에서 HTML 태그를 제거하기 위해 다음 클래스를 사용한 후에도 HTML 태그를 보여줍니다. 하지만이 수업은 효과가 없습니다. 나는 그물의 어딘가에서 그것을 다운로드했다. & nbsp; & amp; 등등. 심지어 모든 태그가 제거되지 않습니다. 내 HTML 설명을 META에서 텍스트 설명으로 볼 수있게하려면 어떻게해야합니까?HTML 설명을 메타 설명으로 설정할 문자열로 변환

/// <summary> 
/// Methods to remove HTML from strings. 
/// </summary> 
public static class HtmlRemoval 
{ 
    /// <summary> 
    /// Remove HTML from string with Regex. 
    /// </summary> 
    public static string StripTagsRegex(string source) 
    { 
     return Regex.Replace(source, "<.*?>", string.Empty); 
    } 

    /// <summary> 
    /// Compiled regular expression for performance. 
    /// </summary> 
    static Regex _htmlRegex = new Regex("<.*?>", RegexOptions.Compiled); 

    /// <summary> 
    /// Remove HTML from string with compiled Regex. 
    /// </summary> 
    public static string StripTagsRegexCompiled(string source) 
    { 
     return _htmlRegex.Replace(source, string.Empty); 
    } 

    /// <summary> 
    /// Remove HTML tags from string using char array. 
    /// </summary> 
    public static string StripTagsCharArray(string source) 
    { 
     char[] array = new char[source.Length]; 
     int arrayIndex = 0; 
     bool inside = false; 

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

답변

1

는 당신이 코드는 그냥 &amp; 's 및 &nbsp;'s을 (를) 변환하지 않습니다, HTML 태그를 제거합니다.

HttpUtility.HtmlDecode을 사용하면 문자를 읽을 수있는 문자로 변환합니다.

+0

실제로 그 HttpUtility 네임 스페이스에서 생각합니다. 하지만 여전히 작동하지 않는 태그를 제거하지만 다른   같은 단어 –

+0

흠, 문자열을 디코딩하면 문자를 변환해야합니다, 당신은 MVC를 사용하여 건물거야? –

관련 문제