审稿报告字数统计 加入限制 排除 空格之类的
This commit is contained in:
@@ -1244,7 +1244,38 @@ str = str.replace(regex, function (match, content, offset, fullString) {
|
||||
},
|
||||
|
||||
|
||||
|
||||
getCleanTextForCount(html) {
|
||||
if (!html) return "";
|
||||
|
||||
// 创建临时容器解析 HTML
|
||||
const tempDiv = document.createElement('div');
|
||||
tempDiv.innerHTML = html;
|
||||
|
||||
// A. 特殊处理 wmath:只拿它里面的公式文本,扔掉里面生成的 mjx-container 等标签
|
||||
const wmaths = tempDiv.querySelectorAll('wmath');
|
||||
wmaths.forEach(wm => {
|
||||
// textContent 会拿到最原始的公式字符,忽略内部所有标签
|
||||
const textNode = document.createTextNode(wm.textContent);
|
||||
wm.parentNode.replaceChild(textNode, wm);
|
||||
});
|
||||
|
||||
// B. 获取现在的 HTML 内容
|
||||
let result = tempDiv.innerHTML;
|
||||
|
||||
// C. 去掉特定排版标签的“壳”(保留里面的文字)
|
||||
// 包含 b, strong, br, em, i, sup, sub 等
|
||||
result = result.replace(/<(p|div|b|strong|br|em|i|sup|sub)[^>]*>/gi, "");
|
||||
result = result.replace(/<\/(p|div|b|strong|br|em|i|sup|sub)>/gi, "");
|
||||
|
||||
|
||||
|
||||
// E. 彻底“脱水”:去掉 HTML 实体、换行符、所有空格
|
||||
result = result.replace(/ /ig, "");
|
||||
result = result.replace(/[\r\n\t]/g, "");
|
||||
result = result.replace(/\s+/g, "");
|
||||
|
||||
return result;
|
||||
},
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user