私はブログサイトを作成しています。そこでは、ユーザーが[コード]コードコンテンツ[/コード]内にコードを入力できるようにします。
1つのブログ投稿にこのような複数の[Code]ブロックがあります。
正規表現を使用して各[Code]ブロックを検索し、それを次のように置き換えたい
<pre>command
<
また、>
プレタグを<>に置き換えたい
今、私はそれを通して私を助けることができる有用なコードを見つけました、しかし私は正規表現と混同しています、誰かがこれで私を助けることができますか?
static string ProcessCodeBlocks(string value)
{
StringBuilder result = new StringBuilder();
Match m = Regex.Match(value, @"\[pre=(?<lang>[a-z]+)\](?<code>.*?)\[/pre\]");
int index = 0;
while( m.Success )
{
if( m.Index > index )
result.Append(value, index, m.Index - index);
result.AppendFormat("<pre class=\"{0}\">", m.Groups["lang"].Value);
result.Append(ReplaceBreaks(m.Groups["code"].Value));
result.Append("</pre>");
index = m.Index + m.Length;
m = m.NextMatch();
}
if( index < value.Length )
result.Append(value, index, value.Length - index);
return result.ToString();
}