我正在考虑将一些Markdown文本转换为纯文本。阅读了现有问题之后,很明显,最简单的解决方案是使用现有转换器将Markdown转换为HTML,然后将HTML转换为纯文本。但是,我仍然有些困惑,因为我需要保留来自html的tag href。
例如 此降价促销“某些文本[点击此处](https://somelink.com)” 转换为html
<p>some text <a href="https://somelink.com">click here</a></p>
然后当我将该html转换为纯文本时 “一些文字请点击这里”
如何将原始降价转换为“某些文本https://somelink.com”之类的
答案 0 :(得分:0)
根据Judah Gabriel Himango here的回答,我对遍历html元素的方法进行了更改。
我为A标记添加了切换用例,以获取属性值,并且还设置了一个标志,以停止通过a标记子代迭代的方法,因为它对我来说很重要。
case HtmlNodeType.Element:
switch (node.Name)
{
case "p":
// treat paragraphs as crlf
outText.Write("\r\n");
break;
case "br":
outText.Write("\r\n");
break;
case "a":
outText.Write($"{node.Attributes.FirstOrDefault(x => x.Name == "href")?.Value}");
isATag = true;
break;
}
if (node.HasChildNodes && !isATag)
{
ConvertContentTo(node, outText);
}
break;