|
|
@@ -463,7 +463,25 @@ function processContent(content, options) {
|
|
|
}
|
|
|
|
|
|
if (options.removeSpaces) {
|
|
|
- processedContent = processedContent.replace(/\s+/g, '');
|
|
|
+ // 智能去除空格:保留段落结构,清理多余空格
|
|
|
+
|
|
|
+ // 首先保留段落分隔符(连续两个或以上换行)
|
|
|
+ processedContent = processedContent.replace(/\n\s*\n+/g, '\n\n');
|
|
|
+
|
|
|
+ // 统一换行符为 \n
|
|
|
+ processedContent = processedContent.replace(/\r\n/g, '\n');
|
|
|
+ processedContent = processedContent.replace(/\r/g, '\n');
|
|
|
+
|
|
|
+ // 在每个句子结束符后添加换行
|
|
|
+ processedContent = processedContent.replace(/[。!?;]/g, '$&\n');
|
|
|
+
|
|
|
+ // 去除段落内的多余空格(保留换行)
|
|
|
+ processedContent = processedContent.replace(/[ \t]+/g, ' ');
|
|
|
+ processedContent = processedContent.replace(/^[ \t]+/gm, '');
|
|
|
+ processedContent = processedContent.replace(/[ \t]+$/gm, '');
|
|
|
+
|
|
|
+ // 清理多余的空行(限制最多2个连续换行)
|
|
|
+ processedContent = processedContent.replace(/\n{3,}/g, '\n\n');
|
|
|
}
|
|
|
|
|
|
if (options.useRegex && options.regexPattern) {
|