首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CKEditor4:使文本与其超文本标记语言不同

CKEditor4:使文本与其超文本标记语言不同
EN

Stack Overflow用户
提问于 2014-10-11 03:08:34
回答 2查看 137关注 0票数 7

我在我的CKEditor中添加了StrInsert插件。它基本上添加了一个按钮,在我的编辑器中,它被标记为CRM Field

按钮的作用是将一个值附加到我的编辑器中。例如:当我从下拉列表中单击$[FIRST_NAME]时,它会将文本${__VCG__VAL__FIRST_NAME}附加到编辑器中。

为什么我将下拉菜单命名为$[FIRST_NAME]而不是${__VCG__VAL__FIRST_NAME}?因为我希望HTML<p>${__VCG__VAL__FIRST_NAME}</p>,而编辑器中显示的text$[FIRST_NAME]

正如在screenshot_2中看到的,下面显示的HTML正是我想要的,但我希望编辑器显示文本$[FIRST_NAME],而不是显示文本${__VCG__VAL__FIRST_NAME}

我的问题是,对于某些保留关键字,如何使HTML与编辑器中显示的text有所不同?

EN

回答 2

Stack Overflow用户

发布于 2014-10-13 16:01:03

变通方法可以吗?如果您可以对数据进行后处理和预处理,那么解决方案就很简单。通过用$[FIRST_NAME]替换${__VCG__VAL__FIRST_NAME}来预处理传入的数据,并在保存之前执行相反的操作。

对于具有更复杂替换但具有更好的UX的更奇特的方法,我会使用带有如下代码的小部件:

代码语言:javascript
复制
<p data-real="${__VCG__VAL__FIRST_NAME}">$[FIRST_NAME]</p>

您将创建一个插件,它将每个具有data-real属性的P定义为一个小部件。然后,在保存之前,将它们转换为您喜欢的简单P,并在加载时将简单P转换回widget。这样做的好处是用户不会无意中编辑文本,而且拖放也很容易。例如,用jquery替换应该很容易。

我不知道为什么你希望它们是块级的,我想像这样的变量会更好的内联--但这取决于你的需求。

http://docs.ckeditor.com/#!/guide/dev_widgets上的小部件文档

票数 1
EN

Stack Overflow用户

发布于 2014-10-14 13:49:49

我同意Nenotleps的观点。当用户确认编辑器的输入时,只需将$[FIRST_NAME]替换为<p>${__VCG__VAL__FIRST_NAME}</p>,如果将某些数据加载到编辑器中,则执行相反的操作。

您可以使用editor.getData()获取html格式的当前编辑器内容,其中editor是您的ckeditor实例

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26306394

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档