Échapper au HTML en Java
Cet article explique comment échapper les caractères HTML et les symboles en Java. Nous pouvons utiliser les méthodes Apache commons-text
et StringEscapeUtils.escapeHtml4(str)
pour échapper les symboles et les caractères HTML en Java.
Comment échapper les balises HTML
Nous identifions les balises et leurs caractéristiques pour éviter et échapper aux balises HTML dans votre programme Java. Disons que nous avons une balise <head>
; nous savons que quelque chose qui commence par <
et se termine par >
sera une balise dans un scénario spécifique.
Nous pouvons donc utiliser ces caractéristiques des balises HTML et échapper aux balises HTML. Pour mieux comprendre, regardons l’exemple ci-dessous.
<html lang="en-US">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="https://www.w3schools.com/images/w3schools_green.jpg" type="image/x-icon">
</head>
Dans l’exemple ci-dessus, nous avons plusieurs balises HTML comme <link>
, <HTML>
, <head>
et <meta>
. Ces balises sont des balises HTML, chacune ayant une signification particulière pour le navigateur.
Pour mieux comprendre cela, vous pouvez aller sur n’importe quelle page Web, faire un clic droit sur la page et sélectionner Inspect
pour voir la structure de la page Web, qui est composée de différentes balises HTML.
En HTML, chaque balise est entourée de symboles inférieurs à <
et supérieurs à >
. Il est donc important de noter que ces symboles <
, >
ont une signification spécifique, et si vous utilisez les noms d’entités HTML au lieu de ces caractères HTML dans un code spécifique, le navigateur ne masquera pas les balises, mais il déplacera le texte réel au lieu de l’interpréter.
Remplacez donc <
par le nom de l’entité <
. Et remplacez >
par le nom de l’entité >
.
<html lang="en-US">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href=" https://www.w3schools.com/images/w3schools_green.jpg " type="image/x-icon">
</head>
Maintenant que nous avons compris comment échapper le HTML, comprenons comment échapper le HTML en Java.
Comment échapper HTML en Java
Comme indiqué au début de ce guide, nous utiliserons Apache, un service tiers. Il s’agit d’une fondation logicielle nommée d’après une tribu amérindienne du sud-ouest des États-Unis.
Les développeurs d’Apache ont créé un logiciel pour Apache qui a introduit des outils très utiles et utiles pour accélérer le processus de développement.
L’un de ces outils utiles est utilisé pour échapper le HTML dans une chaîne. Il vous suffit d’inclure la dépendance dans votre fichier pom.xml
.
Importer la dépendance Commons-Text
pour utiliser StringEscapeUtils
en Java
Pour utiliser StringEscapeUtils
, vous devez importer les dépendances commons-text
.
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-text</artifactId>
<version>3.12</version>
</dependency>
- Insérez cette dépendance dans votre POM puis procédez comme suit.
- Les méthodes que nous devons utiliser pour échapper le HTML en Java sont
StringEscapeUtils.escapeHtml4()
etStringEscapeUtils.unescapeHtml4()
. - Écrivez ce code dans votre compilateur Java.
String html = "<html lang=\"en-US\">\r\n"
+ "<head>\r\n"
+ " <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />\r\n"
+ " <link rel=\"shortcut icon\" href=\" https://www.w3schools.com/images/w3schools_green.jpg \" type=\"image/x-icon\">\r\n"
+ "</head>";
// This is used to escape html
String escapedOutput = StringEscapeUtils.escapeHtml4(html);
System.out.println(escapedOutput); // printing the output
Le String html
est juste un extrait de code HTML que nous avons utilisé ci-dessus dans l’exemple 1.
L’élément central de ce programme est StringEscapeUtils.escapeHtml4(html)
qui est responsable de l’échappement du HTML dans ce contexte. La classe StringEscapeUtils
a différentes méthodes, mais nous utiliserons le escapeHtml4()
.
Maintenant, si vous essayez d’exécuter ce code mentionné ci-dessus, vous verrez la sortie échappée que vous avez vue dans la première section de cet article.
Obtenir les données originales non échappées en Java
En utilisant la même classe d’Apache StringEscapeUtils
, nous pouvons facilement ramener la chaîne à sa forme d’origine. Et pour ce faire, vous devez utiliser le code suivant dans votre compilateur Java.
String html = "<html lang=\"en-US\">\r\n"
+ "<head>\r\n"
+ " <meta http-equiv=\"content-type\" content=\"text/html; charset=utf-8\" />\r\n"
+ " <link rel=\"shortcut icon\" href=\" https://www.w3schools.com/images/w3schools_green.jpg \" type=\"image/x-icon\">\r\n"
+ "</head>";
String escapedOutput = StringEscapeUtils.escapeHtml4(html);
String original = StringEscapeUtils.unescapeHtml4(escapedOutput);
System.out.println(original);
Dans le code ci-dessus, nous utilisons la méthode unescapeHtml4()
de la classe StringEscapeUtils
juste après escapeHtml4()
pour convertir les données échappées en données non échappées.
Exécutez le code ci-dessus et vous obtiendrez cette sortie.
<html lang="en-US">
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<link rel="shortcut icon"
href=" https://www.w3schools.com/images/w3schools_green.jpg " type="image/x-icon"> </head>
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn