특정 장소에서 Word HTML 태그를 제거해야합니다. 순간 나는이 일을 해요 :스트립 Word HTML 태그
public string CleanWordStyle(string html)
{
StringCollection sc = new StringCollection();
sc.Add(@"<table\b[^>]*>(.*?)</table>");
sc.Add(@"(<o:|</o:)[^>]+>");
sc.Add(@"(<v:|</v:)[^>]+>");
sc.Add(@"(<st1:|</st1:)[^>]+>");
sc.Add(@"(mso-bidi-|mso-fareast|mso-spacerun:|mso-list: ign|mso-ascii|mso-hansi|mso-ansi|mso-element|mso-special|mso-highlight|mso-border|mso-yfti|mso-padding|mso-background|mso-tab|mso-width|mso-height|mso-pagination|mso-theme|mso-outline)[^;]+;");
sc.Add(@"(font-size|font-family):[^;]+;");
sc.Add(@"font:[^;]+;");
sc.Add(@"line-height:[^;]+;");
sc.Add(@"class=""mso[^""]+""");
sc.Add(@"times new roman","serif";");
sc.Add(@"verdana","sans-serif";");
sc.Add(@"<p> </p>");
sc.Add(@"<p> </p>");
foreach (string s in sc)
{
html = Regex.Replace(html, s, "", RegexOptions.IgnoreCase);
}
html = Regex.Replace(html, @" ", @" "); //can not be read by as XmlDocument if not!
return html;
}
을 지금 내가 sc.Add(@"<p> </p>");
와 <p>
태그 전체 HTML을 제거하고,하지만 내가 원하는 것은 : 나는 테이블 태그를 치면, 그것은 테이블을 돌 때까지 교체 중지해야 끝 태그. 가능한가?
내가 솔루션을 제공하지만, 지금은 다시 생각, 나도 몰라 ... 그냥 텍스트를 유지, 제거하고 단어 형식화하는 당신이 어떻게 보이는지 경우 그러나 HTMLAgilityPack을 사용하는 것이 좋습니다. – Aristos
제 커스터머는 테이블 태그 안의 모든 것을 만져야한다고 생각합니다.하지만 그 밖의 모든 것은 제거되어야합니다. 그것 wasnt 정확하게 내가 찾던 해결책 – Timsen
HTMLAgilityPack을 보아라, 이것은 생각이다, 이것은 당신에게 DOM를 줄 수있다. 그리고 거기에서 당신은 당신이 바라는 부분을 지킬 수있다. – Aristos