Я использую MarkdownSharp в одном из моих проектов и заметил, что если какой-либо из моих URL содержит где-то пары символов подчеркивания, он рассматривается как курсив и поэтому заменяет _ на <em>
.
Я посмотрел на Google, но не могу найти ссылку на это поведение проблемы, и после прочтения некоторых комментариев в коде MarkdownSharp, он предполагает, что код написан так, как это предотвратить это случилось.Ниже приведен фрагмент кода уценки:
Порядок, в котором вызываются другие сабвуферы, имеет важное значение.Перед EscapeSpecialChars () должны произойти замены ссылок и изображений, чтобы любые * или _ в тегах a и img кодировались.
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";
}
Есть ли известный обходной путь для такого поведения?
** ОБНОВЛЕНИЕ: Я только что проверил ввод URL-адреса в StackOverflow, который, как я считаю, использует версию MarkdownSharp (и AutoHyperlink включена в соответствии с моим проектом) и обрабатывает один экземпляр подчеркивания в URL-адресе, так каккак только в ссылке появляется пара символов подчеркивания, она ломается.