私は電報ボットを開発中です。テレグラムは長すぎるメッセージを送信することはできません。私のボットはテキストを生成しなければならず、長すぎる場合、それを複数のメッセージに分割してリストに入れて、それを一つずつ送ることができる関数を書いた。 私が現在行っていることは:python:未処理のhtmlタグを翻訳するスティールを分割
message = "" # random text with variable lenght
max_chars_per_message = 4000
length_message = len(message)
splitted_message_list = []
for i in range(0, length_message, max_chars_per_message):
splitted_message = [message[i:i+max_chars_per_message]]
splitted_message_list.append(splitted_message)
実際にうまくいきます。私の問題は、テキストにHTMLタグが含まれている場合です。その関数が次のようなことをすることができるようにしたいと思います: 'max_chars_per_message'文字ごとにメッセージを分割しますが、メッセージが閉じられていないhtmlタグで終了する場合は、タグが開始されてその部分を次の分割メッセージ。
例: 間違っ:
this is a <b> te|st </b> message
右:
this is a |<b> test </b> message
サポートされており、HTMLタグを使用するには、あなたは正規表現を使用して考えがありhere
を試してみましたか? –
また、テキスト全体がいくつかのHTMLタグの中にあるときにどうなるか考えましたか? – Kendas
@ brunodesthuilliers私は実際には、最後に閉じられていないHTMLタグがあるかどうかをチェックして、その部分を次のメッセージに変換する方法を知ることができません。私は、どのタグにも閉じた部分があるかどうかチェックすることを考えていましたが、その後はかなり複雑に見えます。 – 91DarioDev