Ketika saya sedang berkembang beberapa waktu lalu, saya harus membaca konten pengantar sebuah artikel (yaitu, 200 karakter pertama). Saya menggunakan bidang tersembunyi. Seseorang mungkin bertanya, dan latar belakang juga dapat mencegat karakter. Itu karena editor berisi tag HTML, sehingga latar belakang perlu memproses ekspresi reguler tag HTML. Saya mencari di internet beberapa hari yang lalu dan menemukan bahwa kelas yang ditulis seseorang dibagikan kepada semua orang. Jangan ketinggalan zaman ...
impor java.util.regex.matcher; impor java.util.regex.pattern; /** * <p> * Judul: Kelas Alat Ekspresi Reguler Terkait HTML * </p> * <p> * Deskripsi: termasuk penyaringan tag html, mengonversi tag html, dan mengganti tag html spesifik * </p> * <p> * Hak cipta: Hak cipta (c) 2006 * </p> * @a-@aAps * Hak cipta: Hak cipta (c) 2006 * </p> * @a-@aT 6.aA. */ kelas publik htmlregExputil {private final static string regxpforhtml = "<([^>] *)>"; // Saring semua tag yang dimulai dengan <dan end with> private final static string regxpforimgtag = "<// s*img // s+([^>]*) // s*>"; // Temukan tag IMG Private Private Final Static String RegXPForIMAtAgAttrib = "src =/" ([^/"]+)/" "; // Temukan atribut src dari tag img/** * */public htmlegExputil () {// TODO TODE Auto-Generated Stub Stub Konstruktor} Public @PPUT ** ** ** ** TOKUT: TODO TAGO-GOOLASE TAGUSTOR Auto-Generated Stub Stub} * * String */ String Public Replacetag (Input String) {if (! HasspecialChars (input)) {input pengembalian; filtered.Peramping ("<"); merusak; case '&': filtered.append ("&"); merusak; default: filtered.append (c); }} return (filtered.toString ()); } / ** * Fungsi Dasar: Tentukan apakah tag ada * <p> * * @param input * @return boolean * / public boolean hasspecialchars (input string) {boolean flag = false; if ((input! = null) && (input.length ()> 0)) {char c; untuk (int i = 0; i <= input.length () - 1; i ++) {c = input.charat (i); switch (c) {case '>': flag = true; merusak; case '<': flag = true; merusak; 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 * Tentukan tag * @Return String */Public Static String fithtmltag (string str, string tag) {string regxp = "<// s *" + tag + "// s + ([^>) // s *>"; Boolean result1 = matcher.find (); return sb.tostring (); } /** * Basic function: replace the specified tag* <p> * * @param str * @param beforeTag * Label to replace* @param tagAttrib * Label attribute value to replace* @param startTag * New tag start tag* @param endTag * New tag end tag* @return String * @For example: The src attribute value of the replacement img tag is [img] attribute value[/img] */ public static String REPLACEHTMLTAG (string str string, string befteTag, string tagattrib, string startTag, string endtag) {string regxpfortag = "<// s*" + beForetag + "// s + ([^>]*) // s*>"; String regxpForTagAttrib = tagAttrib + "=/"([^/"]+)/""; Pattern patternForTag = Pattern.compile(regxpForTag); Pattern patternForAttrib = Pattern.compile(regxpForTagAttrib); Matcher matcherForTag = patternForTag.matcher(str); StringBuffer sb = new StringBuffer(); boolean result = matcherForTag.find(); while) {StringBuffer sBreplace = New StringBuffer (); MatcherFortag.AppendReplacement (SB, SBReplace.ToString ());Di atas adalah semua konten artikel ini. Saya berharap ini akan membantu untuk pembelajaran semua orang dan saya harap semua orang akan lebih mendukung wulin.com.