[英]Stripping styles from TinyMCE copy+paste?
有没有办法通过从外部来源(例如 Word)复制+粘贴来将特定标签从进入微型 MCE 中剥离出来? 我想防止字体系列和图像标签被复制+粘贴,但字体大小等没有问题。
谢谢!
你不能真正阻止某人粘贴某些东西,所以我相信你最好的办法是通过在表单提交或微小 MCE textarea 的 onchange 上调用函数来过滤掉不需要的标签。 然后你可以使用一些正则表达式替换来摆脱不需要的标签。
编辑:实际上有一个简单的方法。 检查TinyMCE 文档。
我不知道这会有多大用处,但您可能想看看这个 jQuery 插件,它允许您从您粘贴的文本中过滤标签和属性。
这是一个类似的问题的链接,其中详细描述了如何去除不需要的标签: TinyMCE Paste As Plain Text
尽管“您确实无法阻止某人粘贴某些内容”,但您可以将Web 应用程序插入到 TinyMCE 文本框(或任何其他输入)中的内容转换。
看一下这个:
editor.on ('paste', event => {
// Get clipboard's original HTML string
const clipboard = event.clipboardData
const originalHtml = clipboard.getData ('text/html')
// Parse HTML string into a DOMElement
const parser = new DOMParser
const doc = parser.parseFromString (originalHtml, 'text/html')
// Modify DOM tree
const elems = doc.body.querySelectorAll ('*')
elems.forEach (elem => {
elem.style.fontFamily = ''
// Do other modifications here...
})
// Set textbox content to modified HTML
editor.setContent (doc.body.innerHTML)
// Prevent pasting original content
event.preventDefault ()
})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.