我需要去除特定位置的Word HTML標記。目前,我這樣做:現在我剝整個HTML爲<p>
標籤與sc.Add(@"<p> </p>");
Strip Word Html Tags
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;
}
,但我要的是:如果我打表的標籤,應立即停止更換,直到達到一個表結束標籤。可能嗎?
我給出一個解決方案,但現在,我再想一想,是刪除和格式化這個詞,只是不停的文字...我不知道,如果是你的樣子因爲,但HTMLAgilityPack的使用是這個想法。 – Aristos 2012-07-06 08:41:24
我的定製者希望不要觸摸桌子標籤內的所有東西,但其他所有東西都應該剝離。它不是我正在尋找的解決方案 – Timsen 2012-07-06 08:44:46
看看HTMLAgilityPack,這是個想法,這可以給你DOM,並從那裏你可以保留你想要的部分。 – Aristos 2012-07-06 08:45:33