Als ich mich vor einiger Zeit entwickelte, musste ich den Einführungsinhalt eines Artikels (dh die ersten 200 Zeichen) lesen. Ich habe versteckte Felder verwendet. Jemand könnte fragen, und der Hintergrund kann auch Charaktere abfangen. Das liegt daran, dass der Editor das HTML -Tag enthält, sodass der Hintergrund den regulären Ausdruck des HTML -Tags verarbeiten muss. Ich habe vor ein paar Tagen im Internet gesucht und festgestellt, dass eine Klasse, die jemand schrieb, mit allen geteilt wurde. Sei nicht veraltet ...
Import Java.util.Regx.Matcher; Import Java.util.Regex.Pattern; /** * <p> * Title: HTML-related regular expression tool class* </p> * <p> * Description: Including filtering HTML tags, converting HTML tags, and replacing specific HTML tags* </p> * <p> * Copyright: Copyright (c) 2006 * </p> * * @author hejian * @version 1.0 * @createtime 2006-10-16 */ public class htmlregexputil {private endgültige statische String regxpforHtml = "<([^>] *)>"; // FILTER ALLE Tags, die mit <<// s*img // s+([^>]*) // s*> "enden mit> private endgültige statische String regxpforimgtag =" enden; // Find the IMG tag private final static String regxpForImaTagAttrib = "src=/"([^/"]+)/""; // Find the SRC attribute of the IMG tag/** * */ public HtmlRegexpUtil() { // TODO Auto-generated constructor stub } /** * * Basic functions: replace the tag to display normally* <p> * * @param input * @Return String */ public String -Ersatz (String Input) {if (! filtriert.Append ("<"); brechen; Fall '&': filtered.append ("&"); brechen; Standard: filtriert.Append (c); }} return (filtered.toString ()); } / ** * Grundfunktion: Bestimmen Sie, ob das Tag vorhanden ist if ((input! = null) && (input.length ()> 0)) {char c; für (int i = 0; i <= input.length () - 1; i ++) {c = input.charat (i); Switch (c) {case '>': flag = true; brechen; Fall '<': Flag = true; brechen; case '"': flag = true; break; case '&': flag = true; break; } } } return flag; } /** * Basic function: filter all tags starting with "<" and ending with ">"* <p> * * @param str * @return String */ public static String filterHtml(String str) { Pattern pattern = Pattern.compile(regxpForHtml); Matcher matcher = 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 tag * @return String */public static StringHtmltag (String Str, String -Tag) {String regxp = "<// s *" + tag + "// s + ([^>] *) // s *>"; boolean result1 = matcher.find (); return sb.tostring (); }/** * Grundfunktion: Ersetzen Sie das angegebene Tag * <P> * * @param str * @param beforeTag * label zu ersetzen * @param tagattrib * label Attributwert zu ersetzen * @param startTag * New Tag Start -Tag * @param endag * New Tag End -Tag * @return String * @For Beispiel: Das SRC -Sting -Wert des Src -Sting -Wertes. Ersatzhtmltag (String str, String beforeTag, String tagatTtrib, String startTag, String endag) {String regxPorforg = "<// s*" + beforeTag + "// s + ([^>]*) // S*>"; String regxpfortagattrib = tagattrib + "=/" ([^/"] +)/" "; mustersOstag = muster.comPile (RegXPFORTAG); muster musterForAttrib = muster.comPile (RegxPFortArtagattribiber); Matcher -Matcher -musterForag.matcher (strax; StringBuffer SBERSBERSBER SBERSBER SBERSBER SBERSBER SBERSBER SBERSBER SBERSBER (). while (result) {StringBuffer sbreplace = new StringBuffer (); matcherForag.AppendReplacement (SB, SBREPLACE.TOSTRING ());Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.