This commit is contained in:
2025-02-14 16:19:10 +08:00
parent 8f08c747b8
commit 691ec823e7
4 changed files with 72 additions and 57 deletions

View File

@@ -28,6 +28,7 @@ export default {
var str = ''
// 获取单元格的 HTML 内容
let htmlContent = cell.innerHTML.trim();
console.log('htmlContent at line 30111:', htmlContent)
str = this.transformHtmlString(htmlContent)
// 创建一个临时的 DOM 元素来解析 HTML
@@ -48,10 +49,14 @@ export default {
str = capitalizeFirstLetter(str);
// 添加蓝色标签
const regex = /\[(\d+(?:\d+)?(?:,\d+(?:\d+)?)*)\]/g;;
if (regex.test(str)) {
str = `<blue>${str}</blue>`;
}
const regex = /\[(\d+(?:\d+)?(?:,\d+(?:\d+)?)*)\]/g;
str = str.replace(/<blue>/g, '').replace(/<\/blue>/g, ''); // 先去掉所有的 <blue> 标签
if (regex.test(str)) {
str = str.replace(regex, `<blue>$&</blue>`); // 然后再进行替换
}
// 如果没有 <span> 标签,直接返回原始 HTML 内容
return str;
},
@@ -278,11 +283,15 @@ export default {
formattedText = capitalizeFirstLetter(formattedText);
// 添加蓝色标签
const regex = /\[\d+(?:,\d+)*\]/g;
if (regex.test(formattedText)) {
formattedText = `<blue>${formattedText}</blue>`;
}
const regex = /\[(\d+(?:\d+)?(?:,\d+(?:\d+)?)*)\]/g;
formattedText = formattedText.replace(/<blue>/g, '').replace(/<\/blue>/g, ''); // 先去掉所有的 <blue> 标签
if (regex.test(formattedText)) {
formattedText = formattedText.replace(regex, `<blue>$&</blue>`); // 然后再进行替换
}
paragraphText += formattedText;
}
@@ -330,11 +339,12 @@ export default {
}
},
transformHtmlString(inputHtml) {
console.log('inputHtml at line 332:', inputHtml)
inputHtml = inputHtml.replace(/(<[^>]+) style="[^"]*"/g, '$1'); // 移除style属性
inputHtml = inputHtml.replace(/(<[^>]+) class="[^"]*"/g, '$1'); // 移除class属性
// 2. 删除所有不需要的标签 (除 `strong`, `em`, `sub`, `sup`, `b`, `i` 外的所有标签)
inputHtml = inputHtml.replace(/<(?!\/?(strong|em|sub|sup|b|i))[^>]+>/g, ''); // 删除不需要的标签
inputHtml = inputHtml.replace(/<(?!\/?(strong|em|sub|sup|b|i|blue))[^>]+>/g, ''); // 删除不需要的标签
// 3. 如果有 `<strong>` 和 `<em>` 标签,去掉内部样式并保留内容
inputHtml = inputHtml.replace(/<span[^>]*>/g, '').replace(/<\/span>/g, ''); // 去除span标签
@@ -1480,6 +1490,7 @@ export default {
ed.setContent('');
}
});
ed.ui.registry.addButton('customBlue', {
text: 'Blue', // 按钮文本