忽略这确实不是一个好的做法,我会假设你有一个有效的用例来想要做这样的黑魔法。
但在此之前,需要考虑一些事项:
我建议您在 TinyMCE 中工作时将链接保留为链接。这样,您的用户将能够像往常一样插入和编辑它们。将它们更改为编辑器中的span
元素实际上将消除在不编辑完整源代码的情况下编辑它们的能力。您可能应该将它们转换为编辑器之外span
的元素。
如果你是顽固的类型并且不关心#1 或你的用户,你应该注意默认的 TinyMCE 4 配置不允许onclick
属性,所以你需要更新extended_valid_elements
,否则它们将在清理过程中被删除过程。
可能有更好的方法来做你想做的事情。正如@Vic 建议的那样,事件监听器可能是一个更好的选择。
不过,我会取笑你。下面是一个工作示例的过程概述。
概述
如果您正在使用 TinyMCE 3.x 进行开发,您将希望参与该onSaveContent
活动。如果您使用的是 4.x,请使用saveContent
事件。在这两种情况下,概念是相同的。
每当“保存”编辑器的内容时,都会触发此事件。如果 TinyMCE 作为表单的一部分提交,这会自动发生,但您也可以使用tinymce.triggerSave()
它一次强制所有编辑器使用它。
因此,只需设置您的回调函数即可将所有链接替换为邪恶的span
替代方案。您可以使用纯 JS 或 TinyMCE 的内置 DOM 实用程序(如果您已经熟悉它们,这可能只是一个好主意),但为了清楚起见(和理智),使用 jQuery 会更容易。
工作示例
TinyMCE 小提琴: http: //fiddle.tinymce.com/mAdaab/1
- 此示例使用 TinyMCE 4
- 打开浏览器的控制台以查看输出
- TinyMCE加载后,按下
Save
按钮
- 生成的 HTML 将出现在您的控制台中
随心所欲地使用它,但请记住,可能有更好的方法。