Pripremajući materijale za Frizerski salon Vesna dobio sam cjenik usluga u Word formatu (.doc). Cjenik je zapravo jedna poveća tablica. Probao sam napraviti copy-paste te tablice u WordPress, ali naravno, dobio sam hrpu nepotrebnih stvari u HTML kodu. Zatim sam probao spremiti kao HTML, ali opet, puno previše smeća. Htio sam dobiti čistu tablicu sa table, tr i td elementima tako da kasnije mogu oblikovati tablicu CSS-om.
Evo primjera kako je izgledao loš HTML:
<table class=MsoTableGrid border=1 cellspacing=0 cellpadding=0 style=’border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt; mso-yfti-tbllook:480;mso-padding-alt:0cm 5.4pt 0cm 5.4pt’> <tr style=’mso-yfti-irow:0;mso-yfti-firstrow:yes’> <td width=190 valign=top style=’width:142.7pt;border:solid windowtext 1.0pt; mso-border-alt:solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt’> <p class=MsoNormal align=center style=’text-align:center’><b style=’mso-bidi-font-weight:normal’><span style=’font-size:12.5pt’>Naziv usluge<o:p></o:p></span></b></p> </td> <td width=121 valign=top style=’width:90.9pt;border:solid windowtext 1.0pt; border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt: solid windowtext .5pt;padding:0cm 5.4pt 0cm 5.4pt’> <p class=MsoNormal align=center style=’text-align:center’><b style=’mso-bidi-font-weight:normal’><span style=’font-size:12.5pt’>Kratka kosa<o:p></o:p></span></b></p> </td>….Mogao sam to prepisati rukom, ali nekako sam bio umoran od WordPressa i dosadnog posla pa sam se htio malo odmoriti programirajući (konačno). Mislio sam da će sigurno biti još takvih problema u budućnosti pa sam napisao malu skriptu u Pythonu koja zadržava samo određene elemente unutar HTML-a i izbacuje sve atribute.
Upotreba: python FixWordHtml.py wordHtmlFile outputFile [includeElements] Primjer: python FixWordHtml.py word.htm good.htm table tr tdOvaj primjer bi uzeo word.htm datoteku i generirao datoteku good.htm koja bi sadržavala sav tekst iz originalne datoteke i samo table, tr i td elemente (bez atributa), tj. od one hrpe nepotrebnih elemenata i atributa dobili bi:
<table>