Ho risolto con una roba del genere:
codice:
//sorgente contiene tutto il codice sorgente della pagina
ArrayList<String> risultati = new ArrayList<String>();
String temp = "";
for (int i = 0; i < sorgente.length() - 1; i++) {
char c = sorgente.charAt(i);
//prendo tutto quello che è compreso tra > e < e che siano lettere
if (c == '>' && ((sorgente.charAt(i + 1) >= 'a' && sorgente.charAt(i + 1) <= 'z') || (sorgente.charAt(i + 1) >= 'A' && sorgente.charAt(i + 1) <= 'Z'))) {
for (int j = i + 1; sorgente.charAt(j) != '<'; j++) {
temp = temp + sorgente.charAt(j);
}
if(filtraggio(temp)){ //quì effettuo un controllo per filtrare script e altre robe
//che non mi interessano... non riporto il codice...
risultati.add(temp);
}
temp="";
}
}
così funziona, ma l'eleborazione è molto lenta. Suppongo sia dovuto al fatto che la stringa "sorgente" è enorme!!. Qualcuno sà indicarmi soluzioni alternative?