lenML/ChatTTS-Forge
301
1import html2import re3from html.parser import HTMLParser4 5 6# NOTE: 现在没用这个,因为不好解决转义字符的问题7# 除非分段处理,但是太麻烦了...8class HTMLTagRemover(HTMLParser):9 def __init__(self):10 super().__init__()11 self.reset()12 self.fed = []13 14 def handle_data(self, data):15 self.fed.append(data)16 17 def get_data(self):18 return "\n".join(self.fed)19 20 21def remove_html_tags(text):22 parser = HTMLTagRemover()23 parser.feed(text)24 return parser.get_data()25 26 27def remove_html_tags_re(text):28 text = html.unescape(text)29 html_tags_pattern = re.compile(r"</?([a-zA-Z1-9]+)[^>]*>")30 return re.sub(html_tags_pattern, " ", text)31 32 33if __name__ == "__main__":34 input_text = """35<h1>一个标题</h1> 这是一段包含<code>标签</code>的文本。 <code>&</code>36<设定>37一些文本38</设定>39"""40 # input_text = "我&你"41 output_text = remove_html_tags_re(input_text)42 print(output_text) # 输出: 一个标题 这是一段包含标签的文本。43 