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
.12801342ny6gF3p )TrPv1x=;oa_ckmiu5(e:tsShl970w+bf8/d050U0E0G0v0A0K0H0k0x0K0v0H0H0s010G0A0j010406050H0B0z0z0v0n0e040I0u0K0B0/0u0d050T0_0{0}0 0@0j04181f051i0T1i1k1f0@0U0A0p0%0)0+0-0J0A0g0J0K1y0J0G0=050Y0Q0K0E1t0*0,011x1z1B1z0G1H1J1F0G0Q0u0U0 1G0n1g0G0J0%120H0j0v0d0-0c011L1v010R0!0E0d0v0z0E1F1-1/1@1N1`1J1}1 0=0a0k0o0n0u0j0u0H0A150d0k0W1+0n0n0E0x2k18220d1g0T1)2x0G1%1$1(0U240-1B0d1|2h1F1q1s0(1M2H0A2J0d1Z1r1F0j2q1g2v2x2#0^1.2l2P1^2U0n0|0K0=0k0q2u2)0?2(232+1N2-2/2;0c2@1/2_2v2G012~0v2:040k0i322w0@352|0-383a0k0b3e342)363k2;0C3o3g3q3i370u2.392;0f3v2`2*1u2}3A2 3b0M3F3h3I3j3K3C3b0S3O3x3Q3z3B3l0L3W2{3Y3s040q0N3%3H2Q3Z3L0q2?192^1h2Z182N2A0U2E360x1Z201g3}1j3{2%3^3305420W2!3X3:0y0=0W0R3o3G360O2;4m3P3:0d0R0=0G0E0r4x0w0Q0n144r4g1^0;040D4F3(4t0=1D0z0K4L3/4H0=0l0F3v0k4Z0k4n3y0d0=2q0_0K0Y0G3o4#4s1^0u0=0s4/4$3Y0H1=0401014Y4!4`4N040Q390A0H0E4_4;1N4?044^4a2w4:4G1N0y0x0=0h3959514Z531^4i040R3A5b5k3j0=0x5A4M4=4p042S5F4T2}4O0G4Q4S364I4X5h0?4!5X5j5G5l0=0A4l5V5Z5M5C045E5)5u5d4@5g2#5*364|0=01024,0t505V5:0-5T5s5Y5X62370=561B5r5/5c0-5e5?2^5^3y5m0=0m4D5a5V06665t6f015w0E1B5(5@684(5-5L366h6i336k4{4}5|0g0G5 5R3y646r6t5Y6C6a576d6B6v6h6F6l5n045p0#6q2#6s6t686x6z6(3Y0u5I2U4.6e5B69556Z6.3_6v6T6/6V676v6D4*0B4,0v6}6#6 5e0P6I5i6X6E6U526v5w2q0G0B0n176~5!5,7c7e7g2^0@0T4d0E2x2Y7I3|1r3~2A2C2y1Y1!2A0v1I7L0T3}7F0W0Y0!0H04.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)