⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 htmlsubstring.java

📁 一套完整的工商12315的源程序jsp部分在12315里,后台JAVA部分在gs12315src里,没有打包数据库.
💻 JAVA
字号:
/** * <p>Title: </p> * <p>Description: This class is written to intercept named length of HTML String</p> * <p>Copyright: Copyright (c) 2002</p> * <p>Company: 中关村软件</p> * @author 唐旭成 * @version 1.0 */package com.gs.util;import java.lang.*;import java.io.*;public class htmlSubstring{   public htmlSubstring()   {   }   public String htmlSubstr(String htmlStr,int len)	{				String bakStr   = new String(htmlStr+" ");		String finalStr = new String("");		String tagStr   = new String("");		String tmpStr   = new String("");		char chBegin    = '<';		char chEnd      = '>';		char chSpace    = ' ';		int  pos1       = -1;		int  pos2       = -1;		int  pos3       = -1;		int  i          = 0;		int  count      = 0;		int remainder   = 0;		String[] tagArray = new String[10];		int num = bakStr.length();		if(len >= num)		{			return bakStr; // 返回全部字符		}		pos1 = bakStr.indexOf(chBegin);		if(pos1 >= len)		{			finalStr += bakStr.substring(0,len);			return finalStr;		}		if(pos1 > -1)		{			finalStr += bakStr.substring(0,pos1);			i += pos1;		}		while(true)		{			if(pos1 == -1 || pos1 == num -1)			{				remainder = len - i;				if(pos2 > 0 && pos3 > 0)				{					finalStr += bakStr.substring(pos2,pos3);				}				tmpStr = bakStr.substring(pos2+1,pos2+1+remainder);				finalStr += tmpStr;				break;			}			remainder = len - i;			if(remainder <= 0)			{				break;			}			pos2 = bakStr.indexOf(chEnd,pos1+1);			if(pos2 == -1)			{				tmpStr = bakStr.substring(pos2+1,pos3);				finalStr += tmpStr.substring(0,remainder);				break;			}			pos3 = bakStr.indexOf(chSpace,pos1+1);			if(pos3 > pos2 || pos3 == -1) /* "<"和">"之间没有空格,如:<TD> */			{				tagStr = bakStr.substring(pos1+1,pos2); 			   tagStr = "<" + tagStr + ">";			}			else /* "<"和">"之间有空格,如:<TD ALIGN=LEFT> */			{				tagStr = bakStr.substring(pos1+1,pos3); 			   tagStr = "<" + tagStr;			}			tagArray[count] = tagStr.toUpperCase();			// System.out.println("The Tag is <" + tagStr + ">");			pos3 = bakStr.indexOf(chBegin,pos2+1);			if(pos3 == -1)			{			   tmpStr = bakStr.substring(pos2+1);			   if(remainder > num - pos2 - 1)			   {			   	remainder = num - pos2 - 1;			   }			   finalStr += bakStr.substring(pos1,pos2+1) + tmpStr.substring(0,remainder);			   break;			}			tmpStr = bakStr.substring(pos2+1,pos3);			if(tmpStr.length() >= remainder)			{				finalStr += bakStr.substring(pos1,pos2+1) + tmpStr.substring(0,remainder);				break;			}			else			{				i += tmpStr.length();				finalStr += bakStr.substring(pos1,pos2+1) + tmpStr;			}			// System.out.println("finalStr is " + finalStr);			pos1 = pos3;			count++;		}		// System.out.println("finalStr is " + finalStr);		// 以下程序自动追加结束Tag		int num1 = 0;		int num2 = 0;		int j    = 0;		String tagStr2 = new String();		num = tagArray.length -1;		for(i=num;i>=0;i--)		{			num1 = 0;			num2 = 0;			pos1 = 0;			tagStr = tagArray[i];			if(tagStr == null)			{			   continue;			}			if(tagStr.equalsIgnoreCase("<IMG") || tagStr.equalsIgnoreCase("<HR>") || tagStr.equalsIgnoreCase("<BR>")  )			{			   continue;  // 跳过本来就没有结束Tag的Tag			}			if(tagStr.charAt(1) == '/')			{			   continue; // 跳过结束Tag			}			tagStr2 = "</" + tagStr.substring(1,tagStr.length()) ; // 结束Tag			if(tagStr.charAt(tagStr.length() -1) != '>')			   tagStr2 += ">";		   pos1 = finalStr.indexOf(tagStr,0);			while(pos1 > -1)			{			   pos1 = finalStr.indexOf(tagStr,pos1);				if(pos1 == -1)				   break;				pos1++;				num1++;			}		   pos1 = finalStr.indexOf(tagStr2,0);			while(pos1 >= 0)			{			   pos1 = finalStr.indexOf(tagStr2,pos1);				if(pos1 == -1)				   break;				pos1++;				num2++;			}			for(j= 1;j<=num1 - num2;j++)			{				finalStr += tagStr2; // 追加结束Tag			}		}		return finalStr;   }   public static void main(String[] args)   {		int li_len = 0;		String htmlStr = new String("");		if ( args.length == 2 )		{			htmlStr = args[0].trim();			li_len  = Integer.parseInt(args[1]);		}		else		{			System.out.println("Syntax is: java htmlSubstring [htmlString] [length]");			System.out.println("                String htmlString --- HTML String to intercept");			System.out.println("                int    length     --- The length of interception");			System.out.println("Remark:    A chinese character's length is 1, not 2!!!\n");		}		if(htmlStr.equals(null) || htmlStr.equalsIgnoreCase(""))		{		   htmlStr = "编辑会议<a href=““><B>ss<font color=red size=+9t>辑会<font color=blue>议比较</font>ss</a>";			li_len = 20;		}		htmlSubstring mySubstr = new htmlSubstring();      String resultStr = mySubstr.htmlSubstr(htmlStr,li_len);		System.out.println("Original String is: " + htmlStr);		System.out.println("First " + li_len + " characters are: " + resultStr);   }}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -