Cuando me estaba desarrollando hace algún tiempo, tuve que leer el contenido de introducción de un artículo (es decir, los primeros 200 caracteres). Usé campos ocultos. Alguien podría preguntar, y el fondo también puede interceptar personajes. Esto se debe a que el editor contiene la etiqueta HTML, por lo que el fondo debe procesar la expresión regular de la etiqueta HTML. Busqué en Internet hace unos días y descubrí que una clase que alguien escribió fue compartida con todos. No estés desactualizado ...
import java.util.regex.matcher; import java.util.regex.pattern; /** * <p> * Título: Clase de herramienta de expresión regular relacionada a HTML clase * </p> * * <p> * Descripción: incluyendo filtrar etiquetas HTML, convertir etiquetas HTML y reemplazar etiquetas html específicas * </p> * <p> * copyright: copyright (c) 2006 * </p> * * * * @author Hejian * @version 1.0 * */ public class htmlregexputil {private final static string regxpforhtml = "<([^>] *)>"; // Filtrar todas las etiquetas que comienzan con <y terminan con> cadena estática final privada RegXPForImgtag = "<// s*img // s+([^>]*) // s*>"; // Encuentra la cadena estática final de la etiqueta IMG RegXpForImatAgattrib = "src =/" ([^/"]+)/"; // Encuentre el atributo src de la etiqueta img/** * */public htmlregExputil () {// tODO ADO Generated constructor torto}/** * * * * FUNCIONES BÁSICOS: Reemplazar las fondas básicas: reemplazar las fondas de la etiqueta Normalmente @Param Entrada * @return */ public String ReplaceGETAg (String Enume) {if (! HasspecialChars (input)) {return input; filtrado.append ("<"); romper; case '&': filtred.append ("&"); romper; predeterminado: filtrado.append (c); }} return (Filtered.ToString ()); } / ** * Función básica: determine si la etiqueta existe * <p> * * @param entrada * @return boolean * / public boolean HasspecialChars (entrada de cadena) {boolean 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; romper; case '<': flag = true; romper; caso '"': flag = true; break; case '&': flag = true; break;}}} return flag;} / ** * Función básica: Filtro todas las etiquetas que comienzan con" <"y terminan con"> " * <p> * * * @param str * @return String * / public static string filtreHtml (string str) pattern.matcher(str); StringBuffer sb = new StringBuffer(); boolean result1 = matcher.find(); while (result1) { matcher.appendReplacement(sb, ""); result1 = matcher.find(); } matcher.appendTail(sb); return sb.toString(); } /** * Basic function: filtering specified tag* <p> * * @param str*@param etiqueta*especificar*@return string*/public static string fithtmltag (string str, string etiqueta) {string regxp = "<// s*" + tag + "// s + ([^>]*) // s*>" Boolean resultado1 = matcher.find (); return sb.ToString (); }/** * Función básica: reemplace la etiqueta especificada * <p> * * @param str * @param beforetag * etiqueta para reemplazar * @param tagattrib * Valor de atributo de etiqueta para reemplazar * @param starttag * nueva etiqueta de inicio * @param endtag * nueva etiqueta etiqueta * @return string * @for ejemplo: valor de atributo src de la etiqueta de replacement iMg es [img] atributo de atributo [/iMg) reemplazarHtmltag (String Str, String Beforetag, String Tagattrib, String StartTag, String EndTag) {String RegXpfortag = "<// S*" + Beforetag + "// S + ([^>]*) // S*>"; String RegXPFortAgAttrib = TagAttrib + "=/" ([^/"] +)/" "; Pattern PatternFortAg = Pattern.ComPile (RegXPFortAg); Pattern PatternForAttrib = Pattern.Compile (RegXpFortAttrib); MatcherFortAg = PatternFortAg.Matcher (Str); StringBuffer SB = New StringBuffer (); Resultado de MatcherFortAg.FinD.FinDM); StringBuffer SB = New StringBuffer (); while (resultado) {StringBuffer sbreplace = new StringBuffer (); MatcherFortAg.AppendReplacation (sb, sbreplace.ToString ());Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.