Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    93

    [JAVA] rimozione tag XTML da un stringa

    Ciao a tutti, ho trovato questa funzione per rimuovere qualche tag HTML da una stringa di testo, ma mi sembra un pò riduttiva, considerando che sono un novizio di JAVA sapreste darmi una mano per fare qualcosa di più sensato:

    codice:
    <%!
    	String AX_chStr(String theString){
    		theString = theString.replaceAll("
    ","");
    		theString = theString.replaceAll("
    ","");
    		theString = theString.replaceAll("","");
    		theString = theString.replaceAll("","");
    		theString = theString.replaceAll("","");
    		theString = theString.replaceAll("","");
    		theString = theString.replaceAll("","");
    		theString = theString.replaceAll("","");
    		theString = theString.replaceAll("","");
    		theString = theString.replaceAll("","");
    		theString = theString.replaceAll("<SPAN>","");
    		theString = theString.replaceAll("<span>","");
    		theString = theString.replaceAll("</SPAN>","");
    		theString = theString.replaceAll("</span>","");
    		theString = theString.replaceAll("<CODE>","");
    		theString = theString.replaceAll("<code>","");
    		theString = theString.replaceAll("</CODE>","");
    		theString = theString.replaceAll("</code>","");
    		theString = theString.replaceAll("&","&#038;");
    		return theString;
    	}
    %>

  2. #2
    Il primo parametro di replaceAll e' una espressione regolare: quindi dovresti poter usare un'unica chiamata alla funzione in cui rimpiazzi tutti i tag che ti possono venire in mente...
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    93
    innanzitutto grazie ma non è che potresti essere un pò più semplice, ad esempio facendo un piccolo esempio.

  4. #4
    Non ne so molto sulle espressioni regolari. Non mi sono mai servite, finora. In pratica e' un modo compatto per indicare un insieme di "espressioni" (stringhe) usando una stringa.
    La parte teorica e' parecchio astrusa, e non l'ho mai approfondita.
    Qui trovi qualcosa relativo a Java:

    RegEx Recipes

    Un esempio.
    Invece di:
    codice:
            theString = theString.replaceAll("[B]","");
            theString = theString.replaceAll("[b]","");
    ti basta usare

    codice:
            theString = theString.replaceAll("(?i)[B]","");
    dove (?i) significa "ignora il case"

    Per raggruppare piu' oggetti si unano le parentesi tonde, separandoli con il pipe. Esempio:

    codice:
    theString = theString.replaceAll("(?i)(
    |[b]|[i]|<span>)","");
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    93
    grazie mille, è perfetto.

  6. #6

    Per niente...

    theString = theString.replaceAll("(?i)<(/)?(br|b|i|span|code|p|table|ul|li)>","");

    Questo e' gia' molto meglio!!!
    Ciao!

    P.S. Il punto interrogativo significa che la slash e' opzionale!
    Folle e' l'uomo che parla alla luna.
    Stolto chi non le presta ascolto.

  7. #7
    Utente di HTML.it
    Registrato dal
    Oct 2001
    Messaggi
    93
    ancora meglio

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.