しばらく前に開発していたとき、私は記事の紹介コンテンツ(つまり、最初の200文字)を読まなければなりませんでした。隠されたフィールドを使用しました。誰かが尋ねるかもしれないし、背景も文字を傍受することができます。これは、エディターにHTMLタグが含まれているため、背景はHTMLタグの正規表現を処理する必要があるためです。私は数日前にインターネットを検索しましたが、誰かが書いたクラスがすべての人と共有されていることがわかりました。時代遅れにならないでください...
java.util.regex.matcherをインポートします。 java.util.regex.patternをインポートします。 /** * <p> *タイトル:HTML関連の正規表現ツールクラス * </p> * <p> *説明:HTMLタグのフィルタリング、HTMLタグの変換、特定のHTMLタグの交換 * </p> * <p> * Copyright:copyright(c)2006 * </p> * @author hejian 1.0/curtetime 1. public class htmlregexputil {private final static string regxpforhtml = "<([^>]*)>"; // <および>プライベートstatic string regxpforimgtag = "<// s*img // s+([^>]*)// s*>"; // IMGタグを見つけるPrivate final static string regxpforimatagattrib = "src =/"([^/"]+)/" "; // IMGタグのsrc属性を見つけます//public htmlregexputil(){// todo auto-generated stub} // todo auto-generated stub} * @return String eplaceTag(String input){!hasspecialchars(input){return input; filtered.append( "<");壊す;ケース '&':Filtered.Append( "&");壊す;デフォルト:filtered.append(c); }} return(filtered.toString()); } / ** *基本関数:タグが存在するかどうかを判断します * <p> * * @param input * @return boolean * / public boolean hasspecialchars(string input){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;壊す; case '<':flag = true;壊す; 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 * @return string */public static string fithtmltag(string string tag){<// s * " + tag +([^>] *)// s *>"; boolean result1 = matcher.find(); return sb.tostring(); }/** *基本関数:指定されたタグ * <p> * * @param str * @param beforetag *ラベルを置き換える * @param tagattrib *ラベル属性値 * @param starttag * @param starttag * @param endtag * @param endtag * @return string * @return string * @return string * latedhtmltag(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 forattrib = pattern.compile(regxpfortagattrib); matcher matcherfortag = pattern patternfortag.matcher(str); Stringbuffer sb = new Stringbuffer() while){stringbuffer sbreplace = new Stringbuffer()patternforattrib.matcher(matcherforattrib.find(); Matcherfort.AppendReplacement(SB、sberfortag.find();上記はこの記事のすべての内容です。みんなの学習に役立つことを願っています。誰もがwulin.comをもっとサポートすることを願っています。