Texte brut issu d'un document HTML
On dispose d'une chaine de caractères représentant une portion de code HTML et on souhaite écrire une fonction texte_brut qui supprime toutes les balises HTML de cette chaîne et renvoie le texte brut qu'il contient.
On rappelle qu'une balise HTML s'écrit sous la forme <nom_balise> ou </nom_balise>.
Si l'on considère par exemple le code html = "<p>un <strong>exemple</strong> de chaine</p>" alors l'appel texte_brut(html) renverra 'un exemple de chaine'.
On admet :
- qu'un caractère
<déclarant une ouverture de balise est toujours suivi plus loin dans la chaîne d'un caractère>; - qu'il n'y a jamais de balises imbriquées.
Exemples
>>> html = "<p>un <strong>exemple</strong> de chaine</p>"
>>> texte_brut(html)
'un exemple de chaine'
>>> html = "<h1>un grand titre en <span style='color: red'>rouge</strong> !</h1>"
>>> texte_brut(html)
'un grand titre en rouge !'
Sur la présentation des tests
Afin d'éviter des problèmes d'affichage de la page, les balises ont été découpées dans le fichier Python.
Ainsi "<p>" devient "<"+"p"+">".
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
.128013n w5e9(38m=0p)rhkuois;cb/6TS1vt_dg:xaFy24P+fl7050H0f0F0L0u0T0v0c0x0T0L0v0v0l010F0u0n010406050v0s0k0k0L0p0N040C0t0T0s0/0t0b050z0_0{0}0 0@0n04181f051i0z1i1k1f0@0H0u0E0%0)0+0-0q0u0I0q0T1y0q0F0=050Y0y0T0f1t0*0,011x1z1B1z0F1H1J1F0F0y0t0H0 1G0p1g0F0q0%120v0n0L0b0-0O011L1v010S0!0f0b0L0k0f1F1-1/1@1N1`1J1}1 0=0a0c0Q0p0t0n0t0v0u150b0c0W1+0p0p0f0x2k18220b1g0z1)2x0F1%1$1(0H240-1B0b1|2h1F1q1s0(1M2H0u2J0b1Z1r1F0n2q1g2v2x2#0^1.2l2P1^2U0p0|0T0=0c0D2u2)0?2(232+1N2-2/2;0O2@1/2_2v2G012~0L2:040c0i322w0@352|0-383a0c0P3e342)363k2;0e3o3g3q3i370t2.392;0A3v2`2*1u2}3A2 3b0U3F3h3I3j3K3C3b0j3O3x3Q3z3B3l0g3W2{3Y3s040D0m3%3H2Q3Z3L0D2?192^1h2Z182N2A0H2E360x1Z201g3}1j3{2%3^3305420W2!3X3:0r0=0W0S3o3G360d2;4m3P3:0b0S0=0F0f0K4x0G0y0p144r4g1^0;040h4F3(4t0=1D0k0T4L3/4H0=0o0J3v0c4Z0c4n3y0b0=2q0_0T0Y0F3o4#4s1^0t0=0l4/4$3Y0v1=0401014Y4!4`4N040y390u0v0f4_4;1N4?044^4a2w4:4G1N0r0x0=0M3959514Z531^4i040S3A5b5k3j0=0x5A4M4=4p042S5F4T2}4O0F4Q4S364I4X5h0?4!5X5j5G5l0=0u4l5V5Z5M5C045E5)5u5d4@5g2#5*364|0=01024,0w505V5:0-5T5s5Y5X62370=561B5r5/5c0-5e5?2^5^3y5m0=0B4D5a5V06665t6f015w0f1B5(5@684(5-5L366h6i336k4{4}5|0I0F5 5R3y646r6t5Y6C6a576d6B6v6h6F6l5n045p0#6q2#6s6t686x6z6(3Y0t5I2U4.6e5B69556Z6.3_6v6T6/6V676v6D4*0s4,0L6}6#6 5e0R6I5i6X6E6U526v5w2q0F0s0p176~5!5,7c7e7g2^0@0z4d0f2x2Y7I3|1r3~2A2C2y1Y1!2A0L1I7L0z3}7F0W0Y0!0v04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)