Ver Mensaje Individual
  #1 (permalink)  
Antiguo 02/07/2015, 10:58
Avatar de Fuzzylog
Fuzzylog
 
Fecha de Ingreso: agosto-2008
Ubicación: En internet
Mensajes: 2.511
Antigüedad: 15 años, 8 meses
Puntos: 188
Problema con la eliminación de contenidos entre etiquetas

Hola a todos

Hacía mucho tiempo que no iniciaba un post aquí, pero hoy necesito vuestra ayuda.

Resulta que tengo que filtrar unas etiquetas muy concretas de un código html y sus contenidos.
Para ello estoy usando un replaceAll con una expresión regular.

El problema se produce cuando existen varias etiquetas de ese tipo en un texto, ya que se elimina todo el contenido entre la apertura de la primera etiqueta y el cierre de la última, y no quiero que ocurra eso, ya que ese contenido debe permanecer.

Os dejo un ejemplo sencillo:

public class HelloWorld{

public static void main(String []args){
String text = "<blockquote class='derecho'>texto derecha</blockquote><p>Texto intermedio</p><blockquote class='izquierdo'>texto izquierda</blockquote><div>Texto final</div>";
text = text.replaceAll("<blockquote[^>]*>(?s).*(?s)</blockquote>","");
System.out.println(text);
}
}

Podeis ejecutarlo en: http://www.tutorialspoint.com/compile_java_online.php

Un saludo
__________________
if (fuzzy && smooth) {
fuzzylog = "c00l";
return true;
}