Miguel Monreal Ordiñana

Posts Tagged ‘tip

Mi idea era limpiar HTML mal formado y pasarlo a XHTML, eso lo he conseguido con JTidy (aún con la poca documentación existente ;( ).

Una vez conseguido y pasar de un codigo HTML horrible tal que así:

<P ALIGN="LEFT">
<FONT FACE="Verdana" SIZE="10" COLOR="#0B333C" LETTERSPACING="0" KERNING="0">
Lorem ipsum dolor
</FONT>
</P>

A XHTML (mucho mejor):

<p style="text-align:left;font-size:10px;font-family:Verdana;color:#0B333C">
Lorem ipsum dolor
</p>

Quería hacer desaparecer el atributo style (y demás posibles atributos) por completo y dejar los <p> limpios. Quizá haya otras maneras, pero se me ocurrió hacerlo con expresiones regulares. Estuve echando un ojo a este tutorial (y al JavaDoc) y este es el código Java necesario:

// Cadena original
String              s = "Lorem ipsum dolor";
// Patron
String        pattern = "<p.*?>";
// Cadena por la que sustituir el patron
String       replace  = "<p>";

// Compilar el patron ignorando si esta en mayusculas o minusculas
Pattern p = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE);
Matcher matcher = p.matcher(s);
System.out.println("Antes:" + s);

// Sustituimos todas las ocurrencias
s = matcher.replaceAll(replace);
System.out.println("Despues:" + s);

Antes:

<p style="text-align:left;font-size:10px;font-family:Verdana;color:#0B333C">
Lorem ipsum dolor
</p>

Despues:

<p>
Lorem ipsum dolor
</p>
Anuncios