CKEditor 5,jQuery - 查找和替换文本
CKEditor 5, jQuery - find and replace text
如何使用 JavaScript 和 jQuery 查找和替换 CKEditor 5 中的文本?
我想在文本中找到特殊字符“@”,并在我自己的文本中替换“@”和“@”字符之后的所有字符。
我正在使用 change:data...
window.editor.model.document.on('change:data', () => {
});
你需要 editor.getData()
和 editor.setData()
,然后使用正则表达式 @\w+
来匹配 @
、alphanumeric
和 space
,而不匹配 space 它只适用于粘贴,但你不能输入 @user
因为当输入 @u
时它会被替换为 newString
下面的例子
ClassicEditor
.create(document.querySelector('#editor'))
.then(editor => {
editor.model.document.on('change:data', () => {
let content = editor.getData();
if (/@\w+( |\s)/gi.test(content)) {
content = content.replace(/@\w+( |\s)/gi, 'newString ')
editor.setData(content)
}
})
})
<script src="https://cdn.ckeditor.com/ckeditor5/34.0.0/classic/ckeditor.js"></script>
<div id="editor"></div>
如何使用 JavaScript 和 jQuery 查找和替换 CKEditor 5 中的文本?
我想在文本中找到特殊字符“@”,并在我自己的文本中替换“@”和“@”字符之后的所有字符。
我正在使用 change:data...
window.editor.model.document.on('change:data', () => {
});
你需要 editor.getData()
和 editor.setData()
,然后使用正则表达式 @\w+
来匹配 @
、alphanumeric
和 space
,而不匹配 space 它只适用于粘贴,但你不能输入 @user
因为当输入 @u
时它会被替换为 newString
下面的例子
ClassicEditor
.create(document.querySelector('#editor'))
.then(editor => {
editor.model.document.on('change:data', () => {
let content = editor.getData();
if (/@\w+( |\s)/gi.test(content)) {
content = content.replace(/@\w+( |\s)/gi, 'newString ')
editor.setData(content)
}
})
})
<script src="https://cdn.ckeditor.com/ckeditor5/34.0.0/classic/ckeditor.js"></script>
<div id="editor"></div>