home *** CD-ROM | disk | FTP | other *** search
Java Source | 1997-11-06 | 1.6 KB | 59 lines |
- // Hilfsklasse zur HTML-Konvertierung
-
- public class HTMLcvt {
- static private final String[] tab1 = { "nbsp;", "lt;", "gt;", "quot;", "amp;", "szlig;",
- "auml;", "ouml;", "uuml;",
- "Auml;", "Ouml;", "Uuml;" };
- static private final String tab2 = " <>\"&▀Σ÷ⁿ─╓▄";
-
- static public String toHTML(String s) {
- StringBuffer r=new StringBuffer();
- for(int i=0; i<s.length(); ) {
- int ch=s.charAt(i++);
- int n=tab2.indexOf(ch);
- if(n>=1) {
- r.append('&');
- r.append(tab1[n]);
- }
- else if(ch>127 || (ch<32 && ("\t\r\n".indexOf(ch)<0))) {
- r.append("");
- r.append(ch);
- r.append(';');
- }
- else
- r.append((char)ch);
- }
- return r.toString();
- }
- static public String fromHTML(String s) {
- StringBuffer r=new StringBuffer();
- for(int i=0; i<s.length();) {
- int ch=s.charAt(i++);
- if(ch!='&') {
- r.append((char)ch);
- continue;
- }
- String sub=s.substring(i);
- if(sub.startsWith("#")) {
- int val=0;
- while(++i<s.length()) {
- ch=s.charAt(i);
- if(ch<'0' || ch>'9') break;
- val=10*val+(ch-'0');
- }
- r.append((char)val);
- continue;
- }
- for(int n=0; n<tab1.length; ++n) {
- if(sub.startsWith(tab1[n])) {
- r.append((char)tab2.charAt(n));
- i+=tab1[n].length();
- break;
- }
- }
- }
- return r.toString();
- }
- }
-
-