1
/**
2
* DealingCharacter.java
3
* Description:
4
* @author li.b
5
* @version 2.0
6
* Jun 27, 2008
7
*/
8
public class DealingCharacter {
9
10
/**
11
* Description: 轉(zhuǎn)譯特殊符號標(biāo)簽
12
* @param value 需要處理的字符串
13
* @return
14
*/
15
public static String filter(String value)
16
{
17
if(value == null || value.length() == 0)
18
return value;
19
StringBuffer result = null;
20
String filtered = null;
21
for(int i = 0; i < value.length(); i++)
22
{
23
filtered = null;
24
switch(value.charAt(i))
25
{
26
case 60: // '<'
27
filtered = "<";
28
break;
29
30
case 62: // '>'
31
filtered = ">";
32
break;
33
34
case 38: // '&'
35
filtered = "&";
36
break;
37
38
case 34: // '"'
39
filtered = """;
40
break;
41
42
case 39: // '\''
43
filtered = "'";
44
break;
45
}
46
if(result == null)
47
{
48
if(filtered != null)
49
{
50
result = new StringBuffer(value.length() + 50);
51
if(i > 0)
52
result.append(value.substring(0, i));
53
result.append(filtered);
54
}
55
} else
56
if(filtered == null)
57
result.append(value.charAt(i));
58
else
59
result.append(filtered);
60
}
61
62
return result != null ? result.toString() : value;
63
}
64
65
public static void main(String[] args) {
66
System.out.println(DealingCharacter.filter("<HTML>sdfasfas</HTML>"));
67
}
68
}
69

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69
