Saya sedang mencari untuk mencipta fungsi yang mengalih keluar perkataan daripada ayat dan kemudian menggantikan perkataan yang dialih keluar dengan perkataan lain yang diperoleh daripada carian API kamus.
Sangat mudah, ini ialah fungsi yang menyemak sama ada perkataan dalam ayat tergolong dalam senarai perkataan yang dialih keluar, jika ya, gantikannya dengan perkataan gantian, jika tidak, tambahkan perkataan asal pada rentetan baharu. Tiada masalah,
Apa yang saya perlukan bantuan ialah jika saya menggunakan rentetan F dan menambah pengubah suai teks untuk ditafsirkan dalam teg HTML, adakah ini cara yang betul untuk melakukannya? Saya hanya mahu tebalkan teks yang digantikan
if word in removed_words: print("our word for the dictionary is", word) res = dictionary.meaning(word.capitalize()) if res != None: if res.get('Noun'): print("our definition is", "---> ", res['Noun'][0], " <----") remaining_words.append(f"""{res['Noun'][0]}""") elif res.get('Verb'): print("our definition is", "---> ", res['Verb'][0], " <----") remaining_words.append(f"""{res['Verb'][0]}""") else: remaining_words.append(f"""{r.word()}""") else: remaining_words.append(word)
Apabila saya memeriksa penanda HTML dalam penyemak imbas, elemen perenggan yang mengandungi rentetan baharu disusun dengan betul, seperti
<p>This is the new sentence with the <b>replaced word</b> and the other words</p>
Masalahnya, bagaimanapun, ialah <b> tersirat dalam penanda akhir, tetapi tidak diberikan. Adakah saya kehilangan sesuatu di sini?
Semasa proses pemaparan, teg templat Flask yang perenggan dipanggil adalah seperti berikut dan <p> yang mengandungi soalan[0] ialah nilai rentetan pemaparan baharu yang saya bincangkan.
h3 class="header3 head4">{{heading}} <p id="question">{{question[0]}}</p> <button id="showanswer">Show the Answer</button> <p id="answer">{{question[1]}}</p> <form id="submitanswer" method="post", action="/quiz/processanswer"> <input id="useranswer" type="text" name="answer" placeholder="Enter your answer"> <input id="hiddenanswer" name="hiddenanswer" type="text" value="{{question[1]}}" id="hiddenanswer"> <button id="answerSubmit">Submit</button> </form>
Terima kasih atas bantuan anda!
Secara lalai, Jinga akan secara automatik melepaskan aksara dalam pembolehubah, seperti >, < (apabila menggunakan
{{question[0]}}
).Jika anda yakin dengan cara soalan[0] dibina, anda boleh memintas auto-melarikan diri ini dengan menggantikannya dengan
<p id="question">{{question[0]}}</p>
改为<p id="question">{{question[0] | safe }}</p>
.Untuk maklumat lanjut, sila rujuk: https://jinja.palletsprojects.com/en/3.0.x/templates/#html-escaping