3 回答

TA貢獻1921條經驗 獲得超9個贊
如果將false
值參數傳遞給format
函數,則可以刪除特定類型的格式。
例如,format('bold', false)
從當前選定的文本中刪除粗體(但沒有其他格式)?;蛘?code>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);
添加回答
舉報