This commit is contained in:
2025-07-17 15:40:29 +08:00
parent aaea179c07
commit e59618d712

View File

@@ -176,30 +176,29 @@
}, 300); }, 300);
}); });
// 英文截断处理 // 英文截断处理
// 处理 #rendered-content 内的内容
$('#rendered-content').html(function(i, html) { $('#rendered-content').html(function(i, html) {
// 1. 先保护所有标签内的内容(包括标签内的   // 1. 先保护所有可能的空行格式
html = html.replace(/<[^>]+>[^<]*<\/[^>]+>/g, function(match) { html = html.replace(/<(p|h[1-6])([^>]*)>(<[^>]+>)*\s*(&nbsp;)*\s*(<\/[^>]+>)*<\/\1>/gi, function(match) {
return match.replace(/</g, '___TAG_OPEN___') // 统一空行格式为 <p>&nbsp;</p> 形式
.replace(/>/g, '___TAG_CLOSE___'); var tag = match.match(/<(p|h[1-6])/i)[1];
return '<' + tag + '>&nbsp;</' + tag + '>';
}); });
// 2. 替换非标签内容中的 &nbsp; 为普通空格 // 2. 替换单词间的 &nbsp;(确保后面跟着字母或数字)
html = html.replace(/&nbsp;/g, ' '); html = html.replace(/&nbsp;(?=[a-zA-Z0-9])/g, ' ');
// 3. 恢复被保护的标签内容
html = html.replace(/___TAG_OPEN___/g, '<')
.replace(/___TAG_CLOSE___/g, '>');
return html; return html;
}); });
// 添加CSS样式确保英文单词完整换行 // 添加CSS样式
$('#rendered-content').css({ $('#rendered-content').css({
'word-wrap': 'break-word', 'word-wrap': 'break-word',
'overflow-wrap': 'break-word', 'overflow-wrap': 'break-word',
'word-break': 'normal', 'word-break': 'normal',
'white-space': 'normal', 'white-space': 'normal',
}); });
}); });
</script> </script>
{/block} {/block}