换一种方式判断

This commit is contained in:
w_xiaolizu
2023-06-06 12:00:18 +08:00
parent 91621af63f
commit 86c8184d20

View File

@ -260,14 +260,16 @@ def text_divide_paragraph(input_str):
""" """
将文本按照段落分隔符分割开生成带有段落标签的HTML代码。 将文本按照段落分隔符分割开生成带有段落标签的HTML代码。
""" """
code_blocks = re.findall('```.*?```', str(input_str), re.DOTALL) if input_str:
for block in code_blocks: code_blocks = re.findall('```.*?```', input_str, re.DOTALL)
input_str = input_str.replace(block, f'{{{{{{{{{{{code_blocks.index(block)}}}}}}}}}}}') for block in code_blocks:
# 将除了三个反引号之间的文本块以外的 "\n" 替换为 "\n\n" input_str = input_str.replace(block, f'{{{{{{{{{{{code_blocks.index(block)}}}}}}}}}}}')
input_str = re.sub(r'(?!```)(?<!\n)\n(?!(\n|^)( {0,3}[\*\+\-]|[0-9]+\.))', '\n\n', str(input_str)) # 将除了三个反引号之间的文本块以外的 "\n" 替换为 "\n\n"
# 还原未处理的文本块
for i, block in enumerate(code_blocks): input_str = re.sub(r'(?!```)(?<!\n)\n(?!(\n|^)( {0,3}[\*\+\-]|[0-9]+\.))', '\n\n', input_str)
input_str = input_str.replace(f'{{{{{{{{{{{i}}}}}}}}}}}', block) # 还原未处理的文本块
for i, block in enumerate(code_blocks):
input_str = input_str.replace(f'{{{{{{{{{{{i}}}}}}}}}}}', block)
return input_str return input_str