3 回答
TA贡献1921条经验 获得超9个赞
如果将false
值参数传递给format
函数,则可以删除特定类型的格式。
例如,format('bold', false)
从当前选定的文本中删除粗体(但没有其他格式)。或者formatText(0, 100, 'bold', false)
删除前 100 个字符的粗体格式。
TA贡献1770条经验 获得超3个赞
我正在使用 npm 包 sanitize-html 做类似的事情。
您的用例的示例:
import sanitizeHtml from 'sanitize-html';
const dirtyText = '<p>My <strong>dirty</strong> text</p>';
const cleanText = sanitizeHtml(dirtyText, {
exclusiveFilter: (frame) => frame.tag !== 'strong'
});
否则,您可以(我认为更好)列出您允许使用“allowedTags”属性的标签:
import sanitizeHtml from 'sanitize-html';
const dirtyText = '<p>My <strong>dirty</strong> text</p>';
const cleanText = sanitizeHtml(dirtyText, {
allowedTags: ['span', 'p', 'h2', 'a', 'u', 'em', 's']
});
TA贡献1818条经验 获得超3个赞
我能够想出这样的解决方案(这似乎没有很好的性能,但做了我需要的事情)。
const deltas = quill.getContents().map(delta => {
const attributes = delta.attributes;
if (attributes) {
delete attributes['<YOUR ATTRIBUTE TO DELETE>'];
}
return delta;
});
quill.setContents(deltas);
添加回答
举报