This commit is contained in:
2025-07-17 16:11:01 +08:00
parent 912d770c33
commit 567798643c

View File

@@ -177,15 +177,18 @@
});
// 英文截断处理
$('#rendered-content').html(function(i, html) {
// 1. 保护只包含 的标签(包括嵌套情况
html = html.replace(/<([a-zA-Z][a-zA-Z0-9]*)(?:\s+[^>]*)?>(?:\s*<[^>]+>\s*)*(&nbsp;| )*(?:\s*<\/[^>]+>\s*)*<\/\1>/g, function(match) {
// 统一格式为 <tag>&nbsp;</tag>
var tagName = match.match(/^<([a-zA-Z][a-zA-Z0-9]*)/)[1];
return '<' + tagName + '>&nbsp;</' + tagName + '>';
// 1. 保护所有形式的空标签(包括带属性和嵌套
html = html.replace(/<([a-zA-Z]+)(?:\s+[^>]*)?>(?:\s*<[^>]+>\s*)*\s*(?:&nbsp;|\s)+\s*(?:\s*<\/[^>]+>\s*)*<\/\1>/g, function(match) {
// 提取标签名
var tagName = match.match(/^<([a-zA-Z]+)/)[1];
// 提取原有属性
var attributes = (match.match(/<[a-zA-Z]+\s+([^>]+)>/) || ['', ''])[1];
// 重建标签,保留原有属性
return '<' + tagName + (attributes ? ' ' + attributes : '') + '>&nbsp;</' + tagName + '>';
});
// 2. 替换其他情况下的&nbsp;(后面跟着字母或数字)
html = html.replace(/&nbsp;(?=[a-zA-Z0-9])/g, ' ');
// 2. 替换文本中的 &nbsp;确保后面跟着字母或数字)
html = html.replace(/(^|>)([^<]*?)&nbsp;(?=[a-zA-Z0-9])/g, '$1$2 ');
return html;
});
@@ -196,7 +199,10 @@
'overflow-wrap': 'break-word',
'word-break': 'normal',
'white-space': 'normal',
'line-height': '1.6'
});
});
</script>