Quand je me développais il y a quelque temps, j'ai dû lire le contenu d'introduction d'un article (c'est-à-dire les 200 premiers caractères). J'ai utilisé des champs cachés. Quelqu'un pourrait demander et l'arrière-plan peut également intercepter les personnages. En effet, l'éditeur contient la balise HTML, donc l'arrière-plan doit traiter l'expression régulière de la balise HTML. J'ai fouillé sur Internet il y a quelques jours et j'ai découvert qu'une classe que quelqu'un écrivait était partagée avec tout le monde. Ne soyez pas obsolète ...
import java.util.regex.matcher; import java.util.regex.pattern; / ** * <p> * Titre: Classe d'outils d'expression régulière liée à HTML * </p> * <p> * Description: y compris le filtrage des balises HTML, la conversion des balises HTML et le remplacement des balises HTML spécifiques * </p> * <p> * Copyright: Copyright (C) 2006 * </p> * * @Autoror hejian * @version 1.0 * @cretime 2006-16 * / classe publique htmlRegexpUtil {chaîne statique finale privée regxpforhtml = "<([^>] *)>"; // Filtrez toutes les balises qui commencent par <et se terminent avec> une chaîne statique finale privée regxpforImgtag = "<// s * img // s + ([^>] *) // s *>"; // Trouver la balise IMG private finale finale statique regxpforImAtagattrib = "src = /" ([^ / "] +) /" "; // Trouver l'attribut src de la balise img / ** * * / public htmlregexpUtil () {// too @return String * / public String RempaceTag (String Input) {if (! Filtor.Apped ("<"); casque; casser; case '&': filtory.append ("&"); casser; par défaut: filtor.APPEND (c); }} return (filtered.toString ()); } / ** * Fonction de base: Déterminez si la balise existe * <p> * * @param entrée * @return boolean * / public boolean hasspecialchars (string input) {booléan flag = false; if ((input! = null) && (input.length ()> 0)) {char c; for (int i = 0; i <= input.length () - 1; i ++) {c = input.charat (i); switch (c) {case '>': flag = true; casser; case '<': drapeau = true; casser; Case '"': Flag = true; Break; Case '&': Flag = true; Break;}}} retourne Flag;} / ** * Fonction Basic: Filtrez toutes les balises commençant par" <"et terminant par"> "* <p> * * @param str * @return string * / public stating filterhtml (String Str) {Pattern Pattern = Pattern = Pattern = Pattern.Mather (Str); StringBuffer SB = New StringBuffer (); @param str * @param balise * Spécifiez le balise * @return string * / public static static fithtmltag (string str, string tag) {String regxp = "<// s *" + tag + "// s + (^>] *) // s *>"; Boolean Result1 = Matcher.Find (); return sb.toString (); } / ** * Fonction de base: Remplacez la balise spécifiée * <p> * * @param str * @param beforetag * Étiquette pour remplacer * @param tagattrib * Valeur de l'attribut pour remplacer * @param starttag * nouvelle balise start balise * @param endtag * tag End balise * @return String * @for Example: la valeur d'attribut SRC de la file d'attribution de remplacement IMG TAG TAGE IS [IMG] l'attribut [IMG] ReplaceHtmltag (String Str, String BeforeTag, String TagAttrib, String startAg, String Endtag) {String regxpfortag = "<// s *" + beforetag + "// s + ([^>] *) // s *>"; String regxpfortagattrib = tagattrib + "= /" ([^ / "] +) /" "; Pattern PatternFortag = motive.Compile (regxpfortag); Matcher MatchForAtTrib = motivem.comPile (RegxpFortAGAttrib); Matcher MatherFortag = PatternFortag.Matcher (Str); StringBuffer Sb = new StringBuffer (); Boolean result = Calocar while (résultat) {StringBuffer SBREPLACE = new StringBuffer (); MatherFortag.APPEDRAGE (SB, SBLACE.TOSTRING ());Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.