private static string ProcessArticleCode(string articleContent)
{
var regex =
new Regex(
@"(?<total><div\s+class=""cnblogs_code"">.*?(<pre>|<div>)(?<code>.*?)(</pre>|</div>).*?</div>)",
RegexOptions.Singleline | RegexOptions.Multiline);
var matches = regex.Matches(articleContent);
foreach (Match match in matches)
{
var resultString = Regex.Replace(match.Groups["code"].ToString(),
@"<span\s+style=""color:\s+#008080;"">.*?</span>", "",
RegexOptions.Singleline | RegexOptions.Multiline);
resultString = Regex.Replace(resultString, "<span.*?>", "",
RegexOptions.Singleline | RegexOptions.Multiline);
resultString = Regex.Replace(resultString, "</span>", "",
RegexOptions.Singleline | RegexOptions.Multiline);
resultString = "\r\n{% codeblock lang:csharp%}\r\n" + resultString + "\r\n{% endcodeblock %}\r\n";
articleContent =
articleContent.Replace(match.Groups["total"].ToString(), resultString)
.Replace("<div class=\"cnblogs_code\">", string.Empty)
.Replace("</div>", string.Empty);
}
return articleContent;
}