如何移除字符串两端引号以正确获取CKEditor实例内容
CKEditor动态ID调用及字符串去单引号解决方案
1. 移除字符串两端单引号的实现方法
两种常用方案可实现需求,可根据场景选择:
- 通用适配方案(推荐):使用正则匹配替换首尾单引号,不会误处理字符串中间的单引号
代码示例:const rawStr = "'editor_1003'"; const formatStr = rawStr.replace(/^'|'$/g, ''); // 输出结果:editor_1003 - 高性能方案:确认字符串首尾一定是单引号时,可直接裁切首尾字符
代码示例:const rawStr = "'editor_1003'"; const formatStr = rawStr.slice(1, -1); // 输出结果:editor_1003
2. CKEditor动态ID调用说明
报错原因
你最初使用的CKEDITOR.instances.editor_1003.getData()属于点语法调用对象属性,仅支持固定、符合JS标识符规则的属性名,无法识别动态生成的字符串ID,因此会触发报错。
正确调用方式
使用方括号语法传入处理后的动态ID即可正常调用,完整示例代码如下:
// 1. 获取原始带单引号的实例ID const rawEditorId = "'editor_1003'"; // 2. 移除首尾单引号 const editorId = rawEditorId.replace(/^'|'$/g, ''); // 3. 校验实例存在后获取内容(可选,避免无对应实例时报错) let content = ''; if (CKEDITOR.instances.hasOwnProperty(editorId)) { content = CKEDITOR.instances[editorId].getData(); }
内容的提问来源于stack exchange,提问作者Neeraj Kumar
相关产品推荐
相关产品推荐

