プロジェクトの 1 つで MarkdownSharp を使用していますが、Url のいずれかにアンダースコア文字のペアが含まれている場合、斜体として扱われ、_ が に置き換えられることに気付きました<em>
。
私はグーグルを見てきましたが、この問題の振る舞いへの参照を見つけることができません.MarkdownSharpコードのコメントのいくつかを読むことから、これが起こらないようにコードが書かれていることが示唆されています. 以下のマークダウン コードのスニペットを参照してください。
ここで他のサブルーチンが呼び出される順序は重要です。a および img タグ内の * または _ がエンコードされるように、EscapeSpecialChars() の前にリンクおよび画像の置換を行う必要があります。
public string Transform(string text)
{
if (String.IsNullOrEmpty(text)) return "";
Setup();
text = Normalize(text);
text = HashHTMLBlocks(text);
text = StripLinkDefinitions(text);
text = RunBlockGamut(text);
text = Unescape(text);
Cleanup();
return text + "\n";
}
この動作に対する既知の回避策はありますか?
** 更新: MarkdownSharp のバージョンを使用していると思われる StackOverflow で URL を入力することをテストしました (そして、私のプロジェクトに従って AutoHyperlink が有効になっています)。 URLに表示されると壊れます。