从网页(如 DeepSeek)复制的文本,剪贴板同时带 text/html。Quill 只在无 HTML时才走纯文本路径;只要有 HTML,就走默认 HTML 解析 —— 网页里的 <p> 段落被原样解析成 <p> 块。所以之前纯文本处理没生效,粘贴结果全是 <p>。
修复方案(add.html / edit.html 同步修改)
1. 拦截 quill.clipboard.onPaste(add.html):带 HTML 粘贴时,先规范化 HTML 再交给 Quill。
2. 新增 normalizePastedHtml(add.html):
把行级块 p/div/h1-h6/section/article 压成 <br> 软换行,不产生 <p> 段落
空段落 → 单个 <br>(空行)
保护复杂结构不被压平:代码块容器、列表、表格、图片、视频、iframe、引用
清理首尾多余 <br>