Bonjour à tous,
Je souhaite supprimer dans un code HTML tous les liens, mais aussi tous les spans.
Ma méthode fonctionnait plutot pas mal avec l'expression régulière suivante :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
(.*?)(<a.*?>)(.*?)</a>(.*)
Je pensais tout simplement rajouter à mon expression régulière :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
(.*?)(<span.*?>)(.*?)</span>(.*)
entouré par des [ ] ce qui donnerait :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
[(.*?)(<a.*?>)(.*?)</a>(.*)][(.*?)(<span.*?>)(.*?)</span>(.*)]
L'idée était donc de créer un OU entre les deux expressions ...
Malheureusement cela ne semble pas fonctionner aussi simplement que cela ...
Avez-vous une idée ? merci à tous
jb


La méthode :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
 
public static String removeBadsHtmlTags(final String text) {
		Pattern patternA = Pattern.compile(REGEX_A);
		StringBuilder toReturn = new StringBuilder();
		if (text != null) {
			Matcher matcherA = patternA.matcher(text);
			String group4A = text;
			while (matcherA.matches()) {
				toReturn.append(matcherA.group(1));
				toReturn.append(matcherA.group(3));
				group4A = matcherA.group(4);
				matcherA = matcherA.reset(group4A);
			}
			toReturn.append(group4A);
		}
		return toReturn.toString();
	}