yangg 2 долоо хоног өмнө
parent
commit
e9fce7c546

Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
dist/index.html


+ 0 - 0
dist/static/css/chunk-391a612f.ef32f136.css → dist/static/css/chunk-831e4d3e.ef32f136.css


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
dist/static/js/app.e5451dc9.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
dist/static/js/chunk-391a612f.5999c04e.js


Файлын зөрүү хэтэрхий том тул дарагдсан байна
+ 0 - 0
dist/static/js/chunk-831e4d3e.6797644e.js


+ 58 - 1
src/views/project/ProjectInput.vue

@@ -892,7 +892,8 @@ export default {
           link.parentNode.replaceChild(span, link);
         });
         
-        const result = tempDiv.innerHTML;
+        // 过滤末尾的空格和换行
+        const result = this.filterTrailingWhitespace(tempDiv.innerHTML)/*  */;
         console.log('处理完成后的HTML:', result);
         return result;
       } catch (error) {
@@ -901,6 +902,62 @@ export default {
       }
     },
 
+    // 过滤末尾空格和换行的方法 - 只处理文本末尾,不影响格式
+    filterTrailingWhitespace(htmlContent) {
+      try {
+        if (!htmlContent) return htmlContent;
+        
+        // 创建临时DOM元素来解析HTML
+        const tempDiv = document.createElement('div');
+        tempDiv.innerHTML = htmlContent;
+        
+        // 只处理文本节点末尾的空白,不处理br标签
+        const processTextNodes = (node) => {
+          if (node.nodeType === Node.TEXT_NODE) {
+            // 只处理纯文本节点末尾的空格和换行,保留其他空白
+            node.textContent = node.textContent.replace(/\s+$/, '');
+          } else if (node.nodeType === Node.ELEMENT_NODE) {
+            // 递归处理子节点
+            for (let child of node.childNodes) {
+              processTextNodes(child);
+            }
+          }
+        };
+        
+        // 处理所有子节点的文本末尾空白
+        for (let child of tempDiv.childNodes) {
+          processTextNodes(child);
+        }
+        
+        // 获取处理后的HTML
+        let result = tempDiv.innerHTML;
+        
+        // 只移除整个内容末尾的空白字符,不移除标签间的空白
+        result = result.replace(/\s+$/, '');
+        
+        // 只移除整个内容开头的空白字符
+        result = result.replace(/^\s+/, '');
+        
+        // 使用正则表达式只移除整个内容末尾的br标签
+        // 这个正则表达式确保只匹配整个字符串末尾的br标签
+        result = result.replace(/(<br\s*\/?>)+$/gi, '');
+        
+        // 移除末尾的span标签如果只包含br标签
+        result = result.replace(/<span[^>]*>(<br\s*\/?>)+<\/span>$/gi, '');
+        
+        // 移除末尾的div标签如果只包含br标签
+        result = result.replace(/<div[^>]*>(<br\s*\/?>)+<\/div>$/gi, '');
+        
+        // 移除末尾的p标签如果只包含br标签
+        result = result.replace(/<p[^>]*>(<br\s*\/?>)+<\/p>$/gi, '');
+        
+        return result;
+      } catch (error) {
+        console.error('过滤末尾空白时出错:', error);
+        return htmlContent; // 如果处理失败,返回原始内容
+      }
+    },
+
     // 修改 handleContentSubmit 方法
     async handleContentSubmit() {
       try {

Энэ ялгаанд хэт олон файл өөрчлөгдсөн тул зарим файлыг харуулаагүй болно