gpt4 book ai didi

markdown - 我可以有下划线而不转义它们并且没有markdown斜体吗?

转载 作者:行者123 更新时间:2023-12-03 14:55:44 24 4
gpt4 key购买 nike

我想要有下划线的文本。

它不是代码,所以我不想使用代码格式。

我想停止 Markdown 将其视为斜体的指令。

我可以用 \ 转义 _each_underscore(见!)但我总共有 20 个,而且源代码看起来很丑,很难维护,也不是很干燥。

还有其他选择吗?

最佳答案

一些 Markdown 实现——特别是 Stack Overflow 的服务器端 C# 版本 MarkdownSharp (这里是 optional behavior )和客户端 JavaScript 版本 PageDown ,但也例如GitHub's flavor – 由于您描述的原因,已经偏离了 Markdown 规范。
有关 Stack Overflow 的一些历史记录,请参阅两篇博文 Three Markdown GotchasMarkdown, One Year Later .
由于这是对 Markdown 的普遍批评,因此可能有更多的实现使这种行为可由用户设置,或者完全采用更严格的版本。所以这取决于你使用的是什么实现。
如果您使用的是基于 John Gruber 的原始 Perl 实现(即“大量正则表达式替换”版本)的端口,那么自己进行此更改应该相当容易。相关函数可能称为 _DoItalicsAndBold (原始 Perl 版本,Showdown/PageDown),DoItalicsAndBold (MarkdownSharp), _do_italics_and_bold (python-markdown2) 或类似的。
看看我们的PageDown version of that function对于 Stack Overflow 上使用的更严格的正则表达式:

function _DoItalicsAndBold(text) {

// <strong> must go first:
text = text.replace(/([\W_]|^)(\*\*|__)(?=\S)([^\r]*?\S[\*_]*)\2([\W_]|$)/g,
"$1<strong>$3</strong>$4");

text = text.replace(/([\W_]|^)(\*|_)(?=\S)([^\r\*_]*?\S)\2([\W_]|$)/g,
"$1<em>$3</em>$4");

return text;
}

关于markdown - 我可以有下划线而不转义它们并且没有markdown斜体吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10302516/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com