Como Eliminar Espaços Duplicados, Tabulações e Tags HTML de uma String em Java e PHP

Programação  

Para aplicar regras de validação em um texto de uma String que vinha de um editor WYSIWYG, eu teria que retirar as tags HTML do mesmo.

Verifiquei também que esse texto possuia muitos espaços em branco duplicados e caracteres de tabulação (\n, \r, \t), os quais seria melhor retirar antes de gravar no banco de dados.

Então, formulei os métodos abaixo nas linguagens Java e PHP:

  • removeTagsHtml: método que remove as tags HTML;

  • removeEspacosDuplicados: método que remove os espaços em branco duplicados;

  • removeEspacosDuplicadosETabulacoes: método que remove os espaços em branco duplicados e caracteres de tabulação.

Código Java

public class Util {

    public static String removeTagsHtml(String html) {
        return (html != null && !html.isEmpty()) ? html.replaceAll("<.*?>", "") : html;
    }  
    
    public static String removeEspacosDuplicados(String texto) {
        return (texto != null && !texto.isEmpty()) ? texto.trim().replaceAll("( )+"," ") : texto;
    }  
    
    public static String removeEspacosDuplicadosETabulacoes(String texto) {
        return (texto != null && !texto.isEmpty()) ? texto.trim().replaceAll("\\s+"," ") : texto;
    }
}

Exemplo de uso:

String x = Util.removeTagsHtml("<p>Teste</p>");

Código PHP

class Util {

     public static function removeTagsHtml($html) {
         return ($html) ? preg_replace('/<[^>]*>/', '',$html) : $html;
     }
 
     public static function removeEspacosDuplicados ($texto) {
             return ($texto) ? trim(preg_replace('/( )+/', ' ',$texto)) : $texto;
     }
 
     public static function removeEspacosDuplicadosETabulacoes ($texto) {
         return ($texto) ? trim(preg_replace('/\s+/', ' ',$texto)) : $texto;
     }
}

Exemplo de uso:

$x = Util::removeTagsHtml('<p>Teste</p>');


Compartilhe!