HtmlUtils.java 2.2 KB
package com.framework.util;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.MalformedURLException;
import java.net.URL;

public class HtmlUtils {

	public static String getWebContent(String url) throws MalformedURLException, IOException {
		String sCurrentLine = "";
		StringBuffer result = new StringBuffer();

		InputStream urlStream;

		URL weburl = new URL(url);
		HttpURLConnection connection = (HttpURLConnection) weburl.openConnection();

		connection.connect();

		urlStream = connection.getInputStream();

		BufferedReader lReader = new BufferedReader(new InputStreamReader(urlStream));

		while ((sCurrentLine = lReader.readLine()) != null) {
			result.append(sCurrentLine);
		}
		return result.toString();
	}

	public static String clearHtmlCode(String htmlCode) {
		htmlCode = htmlCode.replaceAll("\t", "").replaceAll("\r\n", "").replaceAll("\n", "");

		htmlCode = htmlCode.replaceAll("<SCRIPT(.[^(</SCRIPT>)]*)</SCRIPT>", "");
		htmlCode = htmlCode.replaceAll("<script(.[^(</script>)]*)</script>", "");
		htmlCode = htmlCode.replaceAll("<(.[^>]*)>", "");

		return htmlCode;
	}

	public static String filter(String value) {
		if (value == null || value.length() == 0) {
			return value;
		}
		StringBuffer result = null;
		String filtered = null;
		for (int i = 0; i < value.length(); i++) {
			filtered = null;
			switch (value.charAt(i)) {
			case 60: // '<'
				filtered = "&lt;";
				break;

			case 62: // '>'
				filtered = "&gt;";
				break;

			case 38: // '&'
				filtered = "&amp;";
				break;

			case 34: // '"'
				filtered = "&quot;";
				break;

			case 39: // '\''
				filtered = "'";
				break;
			}
			if (result == null) {
				if (filtered != null) {
					result = new StringBuffer(value.length() + 50);
					if (i > 0) {
						result.append(value.substring(0, i));
					}
					result.append(filtered);
				}
			} else if (filtered == null) {
				result.append(value.charAt(i));
			} else {
				result.append(filtered);
			}
		}
		return result != null ? result.toString() : value;
	}

}