one1
1
最近我注意到,当我将(某些)文本粘贴到编辑器中时,会包含 span 标签。例如:
<span lang="en">然后婆罗门 Jānussoṇi 走向佛陀,并与他互致问候。</span><span lang="en">问候和礼貌的交谈结束后,他坐在一边,对佛陀说:</span>
只有当 span 标签包含 lang 属性时,我才能重现此问题。
奇怪的是,如果我在编辑器中输入三个反引号以开始代码块,然后在下一行粘贴文本,span 标签不会被粘贴。因此:
然后婆罗门 Jānussoṇi 走向佛陀,并与他互致问候。问候和礼貌的交谈结束后,他坐在一边,对佛陀说:
这真的非常奇怪。
HTML 的处理方式是否发生了某些变化?我知道(并赞赏)部分有限的 HTML 会被转换为 Markdown。然而,这些 span 标签不应被粘贴。
(如果非要说的话,粘贴到代码块中时应该保留 span 标签,而粘贴到普通段落中时则不应保留。但老实说,我认为无论在哪里都不应该粘贴这些标签)
你是从哪儿复制这段文字的?
@renato 最近一直在修复这方面的 bug,不过我不确定是否出现了回归问题。
one1
3
这是一个示例页面。
我尝试粘贴了类似的文本,其中包含没有 lang 参数的 span 标签,它们能正常粘贴,即不会出现 HTML span 标签。因此我认为问题出在 lang 上。
我还应该说明,我们使用的是 v2026.7.0-latest 版本。
renato
(Renato Atilio)
4
我昨天合并了一项改进,以避免在从 Word 复制时出现这些 span HTML 元素,但我会用你的例子再仔细检查一下。如果你发现其他例子,请告诉我们。
请注意,带有 lang 属性的 span 元素作为内联 html markdown-it token 是有效的组合。系统出于一致性考虑保留了它们,因为它们是“有效的”。我担心的是“过度修复”,从而移除那些带有额外属性且是有意为之的实例(这可能根本不是问题,我会进一步调查)。
情况并非如此,因为在这种情况下剪贴板同时包含 HTML 和 text/plain,系统会根据你是在代码块外部还是内部粘贴来使用适当的来源。
one1
6
有人建议我分享一张截图,以说明我的意思:
在渲染后的(?)版本中,除了 span 之间缺少空格外,其他看起来都正常。
编辑:但我们根本不希望它们在编辑器中出现。它们会让内容变得非常混乱且难以阅读。