3 回答

TA貢獻(xiàn)1921條經(jīng)驗(yàn) 獲得超9個(gè)贊
如果將false
值參數(shù)傳遞給format
函數(shù),則可以刪除特定類型的格式。
例如,format('bold', false)
從當(dāng)前選定的文本中刪除粗體(但沒(méi)有其他格式)?;蛘?code>formatText(0, 100, 'bold', false)刪除前 100 個(gè)字符的粗體格式。

TA貢獻(xiàn)1770條經(jīng)驗(yàn) 獲得超3個(gè)贊
我正在使用 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'
});
否則,您可以(我認(rèn)為更好)列出您允許使用“allowedTags”屬性的標(biāo)簽:
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貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超3個(gè)贊
我能夠想出這樣的解決方案(這似乎沒(méi)有很好的性能,但做了我需要的事情)。
const deltas = quill.getContents().map(delta => {
const attributes = delta.attributes;
if (attributes) {
delete attributes['<YOUR ATTRIBUTE TO DELETE>'];
}
return delta;
});
quill.setContents(deltas);
添加回答
舉報(bào)