Tencent / cherry-markdown

✨ A Markdown Editor
Other
3.42k stars 393 forks source link

[Feature request] md新增对空超链接的兼容 #530

Open Joy-Wang opened 11 months ago

Joy-Wang commented 11 months ago

目前md engine解析超链接,如果超链接描述为空时,会直接将超链接以文本形式展示出来,不会解析为标签,md数据源不应该出现为空的超链接,但无法控制开发者自由配置的场景,因此SDK这边希望可以兼容一下这种边界场景: 1、希望超链接描述为空时,也可以解析成对应标签; 2、md中存在多个相同超链接(或者是多个描述为空的相同超链接)时,标签解析会出现异常,有部分可以解析,有部分不可以,这里也可以留意一下;

lyngai commented 11 months ago
  1. 空描述链接我们支持一下
  2. 有可复现的例子吗?没有例子不好定位问题哈。
Joy-Wang commented 11 months ago

这个例子可以复现哈: ![img #558px #112px](https://mmbiz.qpic.cn/sz_mmbiz_png) ![img #18px #18px](https://qq.ugcimg.cn) [@joy](mqqapi://markdown/me) 欢迎今天第102个宝贝来到频道,本频道经常有pia戏[](mqqapi://guild/jump)、唱歌[](mqqapi://guild/jump)、电台等活[](mqqapi://guild/jump)动而且有丰厚奖励,新人可以先去[](mqqapi://guild/jump),[](mqqapi://guild/jump)具体部门戳上方精华消息。艾特小智管家+传送门,可进入各个板块。

CainXCain commented 11 months ago

12两个问题近似的是同一个问题,2的触发条件不是相同的超链接,而是相邻且有出错(不能被正则表达式正确匹配)的超链接(比如fix 支持空链接 之前的空链接)

旧版本上面例子实际匹配方式是 [](mqqapi://guild/jump)、唱歌[](mqqapi://guild/jump)第一个[与第二个]匹配; 而生成html时取的链接标题是从右向左取左右方括号第一次匹配上的部分作为标题,其余视为普通文字(这个好像就是一个处理未正确匹配的机制)

支持空链接之后也不再会由空链接引发问题2

用正则给链接纠错应该不是一个容易的事,而看起来不能解析实际上是链接格式错误,我觉得维持现状即可,两个问题都算是解决了