Skip to content

Syntax highlighter does not escape XML-entities when language is unknown or unspecified #3220

@hexwayteam

Description

@hexwayteam

Describe the bug

Code sample inside code block get interpreted as HTML-tags while using codeSyntaxtHighlight + Prism without specifying a language

To Reproduce

Fiddle: https://jsfiddle.net/xv09fd76/

const { Editor } = toastui;
const { codeSyntaxHighlight } = Editor.plugin;

const viewer = new Editor.factory({
  el: document.getElementById('viewer'),
  viewer: true,
  initialValue: `\`\`\`
  Image tag: <img src="example.com">
  Div tag: <div data-foo="bar" style="color: red">Hello!</div>
  \`\`\``,
  plugins: [[codeSyntaxHighlight, { highlighter: Prism }]]
});

Expected behavior

Code samples aren't interpreted as HTML

Desktop (please complete the following information):

  • OS: any
  • Browser: Firefox, Chrome
  • Version: 3.2.2

Smartphone (please complete the following information):

not tested

Additional context

HTML tags are correctly escaped when correct language is specified:

```html
<div />
```

HTML-tags are also correctly escaped without codeSyntaxHIghlight-plugin

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions