tidy: Convertir HTML a XHTML
Segurament ja heu llegit que he tingut, i segurament encara tinc, problemes en formatejar la informació HTML a XHTML, que és el format amb el que treballen les noves versions de BLOG:CMS i en teoria el format del futur de les pàgines web. Ja que a través de les fulles d’estil s’aconsegueix una independència quasi 100% del contingut i el format del contingut. Si voleu més info del tema ús recomano que ús passeu per la web del Diego ( mini-d ) allà hi trobareu molta més informació sobre aquests formats i les seves avantatges.
Doncs en aquest article ús intentaré explicar com usant el PHP he intentat convertir automàticament el codi HTML dels meus anteriors articles i comentaris al nou format XHTML 1.0 transitional. De fet, com tots els processos de migració tenen un retoc manual, però l’important és que l’escript ens estalviï el màxim de feina possible.
Bé doncs, com diu el titol he usat el tidy per fer això, aquest software és una extensió pel PHP que ens permet automatitzar la conversió. De fet són una col·lecció de funcions molt útils, podeu mirar la documentació oficial de les mateixes a la web de php.
De fet, la majoria de funcions del tidy són pel PHP5 i jo obviament no uso aquesta versió del PHP, sinó la versió PHP 4.3.8, així doncs he suat una bona estona fins que he descobert a base de proba i error quines funcions anaben en PHP4, que per cert, no estan especificades al fantàstic manual de la gent de php.
Per instal·lar el tidy, amb el mini-manual que hi ha a php.net n’he tingut prou, tot i que el que no posa és que s’ha d’editar el fitxer php.ini i s’ha d’afegir la següent línia perquè es carregui l’extensió tidy:
extension = tidy.so
Es poden posar més opcions al fitxer php.ini però jo sincerament he passat d’elles. Per saber que funciona correctament, ús recomano que feun phpinfo(); i busqueu el requadre d’opcions per defecte del tidy, si no hi és vol dir que encara no teniu el suport carregat. Recordeu que després de tocar el php.ini heu de reiniciar el l’apache.
El codi de PHP4 que finalment he usat per fer la conversió és el següent:
$opts = array(
"clean" => true,
"output-xhtml" => true,
"drop-font-tags" => true,
"drop-empty-paras" => true,
"wrap" => 80,
"logical-emphasis" => true,
"enclose-text" => true,
"enclose-block-text" => true );$html="Codi en format HTML<br>Per provar <b>que tot funcioni</b>";
$xhtml=tidy_repair_string($html,$opts);
Pel que fa les opcions que uso, ús recomano que les treieu de Clean up your Web pages with HTML TIDY aquest document, té una zona on es descriuen força bé les opcions del conversor. Pel que fa a la resta del codi ens tornarà el codi XHTML amb tots els headers i footers i les mandangues propies dels formalismes del XML. Si com jo el que voleu és enviar aquest codi a la BBDD perquè són continguts d’articles, comentaris i altres similars, el que voldreu és treure aquestes capçaleres, perquè no hagueu de pensar com fer-ho aquí teniu el meu codi:
$inici = strpos ($xhtml,"<body>")+6;
$final = strpos ($xhtml,"</body>");
$final = $final - $inici;
$article = substr ( $sortida, $inici, $final);
Ara dins la variable article tindreu algo així:
<p>Codi en format HTML<br />Per provar <strong>que tot funcioni</strong>
Tot i que sembli molt senzill no ús vull dir les hores que m’ha portat descobrir això sinó pensarieu que sóc retrassat . De fet, tinc el cervell tan destrossat després d’intentar corregir tot això que m’entren ganes d’enviar-ho tot a rodar. Per altre banda, estic segur que encara queden coses que no acaben de funcionar al poral, espero que m’ajudeu a trobar-les perquè les pugui corregir. Gràcies.
Festa d’Àsia
Del 23 al 26 d’aquest mes s’ha celebrat a Barcelona la festa d’Àsia. Marc en el
qual vaig poder presenciar una demostració de caligrafia xinesa. Art al
que em vaig començar a interessar fa poc temps. De fet, tinc
intenció, quan em pugui organitzar una mica tot el que tinc damunt de la
taula, d’assistir a algún curs d’aquesta tècnica o en el ptijor
dels casos intentar pels meus propis mitjans disfrutar d’aquesta relaxant i
creativa afició.
Enganxant el burru català per Xina
Continuant en la línia d’article sobre el nostre viatge a Xina,
ús continuo avançant material. Ja que la web malgrat ja esta
quasi acabada encara no l’hem publicat. Com a primicia ús explico que
varem enganxar el burro català per un parell de llocs de Xina el primer
dels llocs va ser al guerrers de Xi’an a la ciutat de Xi’an (per cert, una
ciutat preciosa):
varem fer-li una foto al burru:
desesperat, ús recomano que ho re-intenteu ja que he penjat les fotos en
un servidor més ràpid que la meva ADSL: totes les fotos del
viatge a Xina
Curiositats del viatge a Xina
Malgrat que encara estem construint la web del nostre viatge a Xina, aquesta
tarda he aprofitat per fer una mini-web relacionada amb el tema es tracta d’una
web amb
les curiositats del viatge. Les típiques coses tontes que et fan
gràcia i que sempre acabes comentant de viva veu, però que mai
poses a les fotos del viatge. Així que he decidit recopilar-ho.
Un programa molt interessant
El codi el va trobar el Carles i l’ha enviat per email, però esta
força bé:
while ( love & passion ) {<br> for( fight = 0 ; rights < freedom ; rights++ )<br> fight = standup( rights );<br> free( babylon );<br> }
suposo que encara que no sapigueu programar massa sabreu entendre el
codi.
També aprofito el email per comunicar-vos que vaig una mica de cul
aquests dies i per això no he pogut acabar d’enllestir el portal, ni
organitzar el tema de Xina ni res… ho sento, però espero poder tornar
a la normalitat ben aviat perquè ja tinc mono d’escriure tot el que tinc
al tinter.
La curiositat del giorno
Holas a toots!! Avui estava jo tot felis tornan a programar en PHP a la
italiana quan he fet un “if” de tota la vitta i quina ha estat la meva sorpresa
al descobrir que els teclats italianus no tenen per obrir i tancar condicio!!
si!! els mitics “{” i “}”!! no hi son!! he hagut de configurar el teclat a
catala per poderne fer us, ja que passu un monton de fer ALT+123 i ALT+125.I jo
ma pregunto…com cony programen els italians?? Ho tenen xungu amb l’expressio
ALT+ pq no veas com s’usan!! eh nenes!! C, PHP, Java,… Reflexio al cantu per
qui vulgui tema de conversa. I encara em queda publicar un recull de parides
inventades a Napols…pero es que soc un perrote. ale!! besitus.