# 富文本编辑器粘贴内容时，发布时渲染的格式化内容中出现巧合的 Markdown

**URL:** https://meta.discourse.org/t/coincidental-markdown-in-formatted-content-pasted-to-rich-text-editor-rendered-on-publish/386785
**Category:** Bug
**Tags:** composer
**Created:** [2025年十月27日 04:00 UTC](https://meta.discourse.org/t/coincidental-markdown-in-formatted-content-pasted-to-rich-text-editor-rendered-on-publish/386785 "2025-10-27T04:00:55Z")
**Posts on this page:** 1
**Page:** 1

<div class="post-metadata">

### Author: ![per1234](https://sea3.discourse-cdn.com/meta/user_avatar/meta.discourse.org/per1234/32/569645_2.png) [@per1234](https://meta.discourse.org/u/per1234)
#### Post date: [2025年十月27日 04:00 UTC](https://meta.discourse.org/t/coincidental-markdown-in-formatted-content-pasted-to-rich-text-editor-rendered-on-publish/386785/1 "2025-10-27T04:00:55Z")

</div>

### 优先级/严重性：

中等

### 平台：

#### 操作系统

- Windows 11

#### 浏览器

- Google Chrome 141.0.7390.123

#### Discourse

`fb4bd7951aa6ae8c814df702807c12ccb77bd3fd`

### 描述：

["富文本编辑器"](https://meta.discourse.org/t/introducing-our-new-composer-making-writing-on-discourse-easier-than-ever/369779)旨在提供“所见即所得”的体验，即在编辑器中看到的内容将完全按照发布帖子时的样子进行渲染。

从某些来源复制的文本除了纯文本（`text/plain` 类型）外，还可能以格式化形式（`text/html` 类型）存储在剪贴板中。

当文本粘贴到编辑器中时，如果剪贴板中存在格式化数据类型，则将使用该数据而不是纯文本类型。

由于语法的最小化特性，文本经常包含碰巧看起来像 Markdown 标记的内容。

🐛 当粘贴的格式化内容包含某些巧合的 Markdown 标记时，已发布帖子的渲染方式与“富文本编辑器”中显示的方式不同。

### 可重现步骤：

#### 巧合的列表标记

1. 创建一个包含以下内容的 HTML 文件：

```html
<html>
  <body>
<br />- foo
  </body>
</html>

```

2. 在您的网络浏览器中打开该文件。
3. 复制网页内容。
4. 打开帖子编辑器。
5. 将编辑器置于“富文本编辑器”模式。
6. 将复制的内容粘贴到编辑器中。  
🙂 文本被逐字粘贴，而不是被渲染为列表：

> - foo

7. 发布帖子。

🐛 内容没有像在编辑器中看到的那样被渲染，而是被渲染为无序列表：

> - foo

#### 巧合的代码块标记

1. 创建一个包含以下内容的 HTML 文件：

```html
<html>
  <body>
    <span style="white-space: pre"> foo</span>
  </body>
</html>

```

2. 在您的网络浏览器中打开该文件。
3. 复制网页内容。
4. 打开帖子编辑器。
5. 将编辑器置于“富文本编辑器”模式。
6. 将复制的内容粘贴到编辑器中。  
🙂 文本被逐字粘贴，而不是被渲染为代码块：

> &nbsp;&nbsp;&nbsp;&nbsp;foo

7. 发布帖子。

🐛 内容没有像在编辑器中看到的那样被渲染，而是被渲染为代码块：

```plaintext
foo

```

#### 巧合的代码块标记与巧合的 BBCode

1. 创建一个包含以下内容的 HTML 文件：

```html
<html>
  <body>
    <span style="white-space: pre"> [foo]</span>
  </body>
</html>

```

2. 在您的网络浏览器中打开该文件。
3. 复制网页内容。
4. 打开帖子编辑器。
5. 将编辑器置于“富文本编辑器”模式。
6. 将复制的内容粘贴到编辑器中。  
🙂 文本被逐字粘贴：

> &nbsp;&nbsp;&nbsp;&nbsp;[foo]

7. 发布帖子。

🐛 内容没有像在编辑器中看到的那样被渲染，而是被渲染为代码块，并且在括号前添加了反斜杠：

```plaintext
\[foo\]

```

### 附加信息：

我认为，富文本编辑器忽略粘贴内容中存在的、具有“text/html”类型的明显 Markdown 标记是正确的。此类内容中的任何有意格式都将由 HTML 标签定义，因此看起来像 Markdown 的内容很可能是巧合，而不是真正的标记。因此，这里的错误在于巧合的 Markdown 语法在发布时被渲染了；而不是它在编辑器中没有被渲染。

* * *

我能够在 [try.discourse.org](http://try.discourse.org) 的“[安全模式](https://meta.discourse.org/t/how-to-use-discourse-safe-mode/53504)”下重现该错误。
