如何阻止Jodit React富文本编辑器转换<与>为HTML实体?
解决Jodit React源代码视图中转义<和>的问题
我刚好对Jodit React的配置比较熟悉,这个问题可以通过调整编辑器的核心配置项来解决,下面是具体的方案,你可以根据自己的需求选择:
方案一:全局禁用实体转义(最简单直接)
如果希望完全禁止<和>被转义成实体字符,可以直接关闭Jodit的实体处理功能,同时关闭安全模式(安全模式会强制过滤转义内容)。在你的JoditEditor组件中传入以下配置:
import JoditEditor from 'jodit-react'; const MyCustomEditor = () => { return ( <JoditEditor config={{ // 全局关闭HTML实体转义 entities: false, // 关闭安全模式,避免强制转义自定义标签 safeMode: false, // 确保源代码视图也遵循此配置 sourceEditor: { entities: false } }} // 其他props... /> ); };
方案二:精准控制仅保留<和>不转义
如果你不想完全关闭所有实体转义,只想让<和>保持原样,可以针对性地配置实体处理规则:
config={{ safeMode: false, entities: { // 禁用<的转义(对应<) lt: false, // 禁用>的转义(对应>) gt: false, // 其他实体(比如&、"等)保持默认转义 amp: true, quot: true }, sourceEditor: { entities: { lt: false, gt: false } } }}
注意事项
- 关闭
safeMode会降低编辑器的安全性,如果你的编辑器是开放给普通用户使用的,一定要自行添加内容校验逻辑,防止XSS攻击。 - 如果你的自定义标签(比如
<#list items as itm>)属于非标准HTML标签,确保allowTags配置中包含这些标签,避免被编辑器过滤:config={{ allowTags: ['#list', /* 其他自定义标签 */] }}
内容的提问来源于stack exchange,提问作者Sen
相关产品推荐
相关产品推荐

