Commit 8dd97c5a authored by 水玉婷's avatar 水玉婷
Browse files

feat:修复md中图片被转译bug

parent 9d56c460
......@@ -9,6 +9,7 @@
*/
const processMarkdownFormat = (text: string): string => {
let processedText = text;
// 处理标题(支持1-6级)
processedText = processedText.replace(/^######\s+(.*)$/gim, '<h6>$1</h6>');
processedText = processedText.replace(/^#####\s+(.*)$/gim, '<h5>$1</h5>');
......@@ -16,17 +17,28 @@ const processMarkdownFormat = (text: string): string => {
processedText = processedText.replace(/^###\s+(.*)$/gim, '<h3>$1</h3>');
processedText = processedText.replace(/^##\s+(.*)$/gim, '<h2>$1</h2>');
processedText = processedText.replace(/^#\s+(.*)$/gim, '<h1>$1</h1>');
// 处理粗体和斜体
processedText = processedText.replace(/\*\*(.*?)\*\*/gim, '<strong>$1</strong>');
processedText = processedText.replace(/\*(.*?)\*/gim, '<em>$1</em>');
processedText = processedText.replace(/__(.*?)__/gim, '<strong>$1</strong>');
processedText = processedText.replace(/_(.*?)_/gim, '<em>$1</em>');
// 处理粗体和斜体 - 使用更智能的方法避免处理HTML标签内的内容
// 先处理双星号粗体(避免处理HTML标签内的内容)
processedText = processedText.replace(/\*\*([^<>]*?)\*\*/g, '<strong>$1</strong>');
// 处理单星号斜体
processedText = processedText.replace(/\*([^<>]*?)\*/g, '<em>$1</em>');
// 处理双下划线粗体 - 使用更简单但有效的方法
// 只处理单词周围的下划线,避免处理URL中的下划线
processedText = processedText.replace(/\b__(\w[\w\s]*?\w)__\b/g, '<strong>$1</strong>');
// 处理单下划线斜体 - 使用更简单但有效的方法
// 只处理单词周围的下划线,避免处理URL中的下划线
processedText = processedText.replace(/\b_(\w[\w\s]*?\w)_\b/g, '<em>$1</em>');
// 处理删除线
processedText = processedText.replace(/~~(.*?)~~/gim, '<del>$1</del>');
processedText = processedText.replace(/~~([^<>]*?)~~/g, '<del>$1</del>');
// 处理行内代码
processedText = processedText.replace(/`([^`\n]+)`/gim, '<code>$1</code>');
processedText = processedText.replace(/`([^`\n<>]+)`/g, '<code>$1</code>');
return processedText;
};
......@@ -101,6 +113,7 @@ export const parseMarkdown = (text: string): string => {
});
// 处理基本的Markdown格式(在表格解析之前处理,确保表格单元格中的格式也能被处理)
// 使用改进的Markdown格式处理函数,避免处理HTML标签内的内容
text = processMarkdownFormat(text);
// 对于完整文本,使用简单的表格处理逻辑
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment