نسخة الكود كما يلي:
استيراد java.util.hashmap ؛
استيراد java.util.map ؛
استيراد org.apache.commons.lang3.StringUtils ؛
استيراد org.apache.commons.logging.log ؛
استيراد org.apache.commons.logging.logfactory ؛
/**
* بعض الخدمات المريحة لمعالجة الملفات الثابتة
* Author Kettas
* 4:27:25 مساءً
*/
الطبقة العامة htmlservices {
سجل ثابت ثابت = logfactory.getLog (htmlservices.class) ؛
/**
* مسح رمز HTML
* <p> سيتم مسح جميع المحتويات المدرجة بين '<' و '>' وإعادتها إلى </p>
* param args
* @سلسلة العودة
*/
السلسلة الثابتة العامة ClearHtmlToString (String args) {
إرجاع clearhtmltostring (args ، false) ؛
}
/**
* مسح رمز HTML
* <p> سيتم مسح جميع المحتويات المدرجة بين '<' و '>' وإعادتها إلى </p>
* param args
* param replacenull ما إذا كان سيتم استبدال أحرف TAB مثل المساحات
* @سلسلة العودة
*/
السلسلة الثابتة العامة ClearHtmlToString (سلسلة args ، replacenull المنطقية) {
if (stringUtils.isempty (args)) {
يعود ""؛
}
args = args.replaceall ("(؟ is) <(.*؟)>" ، "") ؛
إذا (replacenull) {
args = args.replaceall ("// s*|/t |/r |/n" ، "") ؛
}
إرجاع args.
}
/**
* مسح رمز HTML
* <p> سيتم مسح جميع المحتويات المتضمنة بين '<' و '>' ويتم تحديد الطول الذي تم إرجاعه </p>
* param args
* @سلسلة العودة
*/
السلسلة الثابتة العامة ClearHtmlToString (سلسلة args ، int maxSize) {
إرجاع clearhtmltostring (args ، maxSize ، "") ؛
}
/**
* مسح رمز HTML
* <p> سيتم مسح جميع المحتويات المتضمنة بين '<' و '>' ويتم تحديد الطول الذي تم إرجاعه </p>
* param args
* @سلسلة العودة
*/
السلسلة الثابتة العامة ClearHtmlToString (سلسلة args ، int maxsize ، سلسلة استبدال) {
args = clearhtmltostring (args) ؛
if (maxSize <= 0) {
إرجاع args.
}
if (args.length () <= maxSize) {
إرجاع args.
}
إرجاع args.substring (0 ، maxSize) .Concat (استبدال) ؛
}
/**
* اعتراض السلسلة على الطول المحدد
* param args
* param maxSize
* param استبدال
* @سلسلة العودة
*/
السلسلة الثابتة العامة ClearHtmlTosize (سلسلة args ، int maxsize ، سلسلة استبدال) {
if (args.length () <= maxSize) {
إرجاع args.
}
إرجاع args.substring (0 ، maxSize) .Concat (استبدال) ؛
}
/// **
// * اقرأ <Style> النمط من ملف نمط CSS
// * @سلسلة العودة
// */
// السلسلة الثابتة العامة getStyletoString (ملف) {
// docum doc = null ؛
// Elements fileList = NULL ؛
//يحاول{
// doc = jsoup.parse (file ، config.default_type) ؛
//filelist=doc.select("style ") ؛
// string css = doc.data () ؛
//if(css.length () <1) {
// إرجاع CSS ؛
//}
///*
// * تصفية بيانات التعليق
// */
//css=css.replaceall ("(<[^>]*>)" ، "") ؛
// إرجاع CSS ؛
//} catch (استثناء e) {
//log.error(E) ؛
//} أخيراً{
// doc = null ؛
// fileList = null ؛
//}
//يعود ""؛
//}
/// **
// * اقرأ <Style> النمط من ملف نمط CSS
// * return map <string ، string>
// */
// الخريطة الثابتة العامة <string ، string> getStyleTomap (ملف الملف) {
// map <string ، string> css = new hashmap <string ، string> () ؛
//يحاول{
// string cssstyle = getStyleToString (file) ؛
//if(cssstyle.trim (). length () <1) {
// إرجاع CSS ؛
//}
///*
// *
// */
// string [] style = cssstyle.split ("//}") ؛
// string [] map = new string [2] ؛
// لـ (String _style: style) {
//map=_style.split ("// {") ؛
//css.put(map Budap00/1201) ؛
//}
// إرجاع CSS ؛
//} catch (استثناء e) {
//log.error(E) ؛
//}
// إرجاع CSS ؛
//}
/**
* اقرأ خصائص CSS من الأناقة
* <pre>
* String Style = "Float: Left ؛ Margin: 0px ؛ Font-Size: 12px ؛" ؛
* String fontsize = htmlservices.getStyLenameValue (النمط ، "Font-Size") ؛ </pre>
* @param النمط
* param stylename
* @سلسلة العودة
*/
السلسلة الثابتة المحمية getStyletoString (نمط السلسلة ، سلسلة String) {
يحاول{
خريطة <string ، string> css = csstomap (النمط) ؛
إرجاع css.get (stylename) ؛
} catch (استثناء e) {
log.error (e) ؛
}
يعود ""؛
}
Filterchare Static Static Static (String MSG ، String ... chars) {
لـ (String _char: chars) {
msg = msg.replace (_char ، "") ؛
}
إرجاع MSG ؛
}
السلسلة الثابتة العامة MappoCss (خريطة <سلسلة ، سلسلة> css) {
StringBuffer Style = new StringBuffer () ؛
لـ (map.entry <string ، string> intern: css.entryset ()) {
style.append (style.length ()> 0؟ "،": "") ؛
style.append (enter.getKey ()). إلحاق (":")
}
إرجاع style.toString () ؛
}
/**
* تغليف النمط في أزواج القيمة الرئيسية
* <pre>
* String Style = "Float: Left ؛ Margin: 0px ؛ Font-Size: 12px ؛" ؛
* الخريطة <string ، string> css = htmlservices.getStyleTomap (style) ؛
* system.out.println ("font-size:"+css.get ("font-size")) ؛
* </pre>
* @param النمط
* خريطة العودة
*/
الخريطة الثابتة العامة <string ، string> csstomap (نمط السلسلة) {
خريطة <string ، string> map = new hashmap <string ، string> () ؛
يحاول{
if (style == null || stringUtils.isempty (style)) {
خريطة العودة
}
style = style.toLowerCase () ؛
style = style.split ("//}") [0] ؛
String [] csss = style.split ("// ؛") ؛
لـ (int i = 0 ، iszie = csss.length ؛ i <iszie ؛ i ++) {
String [] cssstyle = csss [i] .split ("//:") ؛
لـ (int j = 0 ، jsize = cssstyle.length ؛ (j+1) <jsize ؛ j+= 2) {
map.put (cssstyle [j] .replace ("" ، "") .trim () ، cssstyle [j+1] .ToString (). trim ()) ؛
}
}
} catch (استثناء e) {
log.error (e) ؛
}
خريطة العودة
}
/// **
// * اقرأ سمة CSSNAME من نمط CSS (لاحظ أن CSS هي CSS قياسية)
// * param css
// * param cssname
// * param stylename
// * @سلسلة العودة
// */
.
//يحاول{
// string style = getStyleTomap (file) .get (csSname) ؛
// return getStyLenameValue (style ، stylename) ؛
//} catch (استثناء e) {
//log.error(E) ؛
//}
//يعود ""؛
//}
}