📄 texttovector.java
字号:
package wapide;/** * Helper class for the TagHandler class. * Converts text attributes into a Vector format for easier manipulation. * Copyright: Copyright (c) 2003 * @author Mark Busman * @version 1.0 * * For License and contact information see WAPIDE.java */import java.lang.*;import java.util.*;public class TextToVector { /** * Empty constructor. */ public TextToVector() { } /** * Processes the attribs based on the tag. Will remove excess attributes. * @param String attribs - the attribs found. * @param String tag - the WML tag. * @return Vector attribs - the proper attribs for the tag specified. */ public Vector processAttribs(String attribs, String tag) { Vector v = new Vector(); if (tag.equals("a")) v = processATag(attribs); if (tag.equals("anchor")) v = processAnchorTag(attribs); if (tag.equals("p")) v = processPTag(attribs); if (tag.equals("pre")) v = processPreTag(attribs); if (tag.equals("img")) v = processImgTag(attribs); if (tag.equals("fieldset")) v = processFieldsetTag(attribs); if (tag.equals("input")) v = processInputTag(attribs); if (tag.equals("select")) v = processSelectTag(attribs); if (tag.equals("table")) v = processTableTag(attribs); if (tag.equals("go")) v = processGoTag(attribs); if (tag.equals("prev")) v = processPrevTag(attribs); if (tag.equals("refresh")) v = processRefreshTag(attribs); if (tag.equals("postfield")) v = processPostfieldTag(attribs); if (tag.equals("setvar")) v = processSetvarTag(attribs); if (tag.equals("do")) v = processDoTag(attribs); return v; } private Vector processATag(String s) { String href = ""; String title = ""; String accesskey = ""; String extra = ""; int start = s.indexOf("href"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); href = s.substring(start + 1, end); } } } start = s.indexOf("accesskey"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); accesskey = s.substring(start + 1, end); } } } start = s.indexOf("title"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); title = s.substring(start + 1, end); } } } start = s.indexOf("id=\""); if (start > -1) { start = start + 4; int end = s.indexOf("\"", start); extra = extra + " " + s.substring(start - 4, end + 1); } start = s.indexOf("class=\""); if (start > -1) { start = start + 7; int end = s.indexOf("\"", start); extra = extra + " " + s.substring(start - 7, end + 1); } start = s.indexOf("xml:lang=\""); if (start > -1) { start = start + 10; int end = s.indexOf("\"", start); extra = extra + " " + s.substring(start - 10, end + 1); } Vector v = new Vector(); v.add(href); v.add(title); v.add(accesskey); v.add(extra); return v; } private Vector processAnchorTag(String s) { String title = ""; String accesskey = ""; String extra = ""; int start = s.indexOf("title"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); title = s.substring(start + 1, end); } } } start = s.indexOf("accesskey"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); accesskey = s.substring(start + 1, end); } } } start = s.indexOf("id=\""); if (start > -1) { start = start + 4; int end = s.indexOf("\"", start); extra = extra + " " + s.substring(start - 4, end + 1); } start = s.indexOf("class=\""); if (start > -1) { start = start + 7; int end = s.indexOf("\"", start); extra = extra + " " + s.substring(start - 7, end + 1); } start = s.indexOf("xml:lang=\""); if (start > -1) { start = start + 10; int end = s.indexOf("\"", start); extra = extra + " " + s.substring(start - 10, end + 1); } Vector v = new Vector(); v.add(title); v.add(accesskey); v.add(extra); return v; } private Vector processPTag(String s) { String align = "N/A"; String mode = "N/A"; String extra = ""; int start = s.indexOf("align"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); align = s.substring(start + 1, end); } } } start = s.indexOf("mode"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); mode = s.substring(start + 1, end); } } } start = s.indexOf("id=\""); if (start > -1) { start = start + 4; int end = s.indexOf("\"", start); extra = extra + " " + s.substring(start - 4, end + 1); } start = s.indexOf("class=\""); if (start > -1) { start = start + 7; int end = s.indexOf("\"", start); extra = extra + " " + s.substring(start - 7, end + 1); } start = s.indexOf("xml:lang=\""); if (start > -1) { start = start + 10; int end = s.indexOf("\"", start); extra = extra + " " + s.substring(start - 10, end + 1); } Vector v = new Vector(); v.add(align); v.add(mode); v.add(extra); return v; } private Vector processPreTag(String s) { String xmlspace = "N/A"; String extra = ""; int start = s.indexOf("xml:space"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); xmlspace = s.substring(start + 1, end); } } } start = s.indexOf("id=\""); if (start > -1) { start = start + 4; int end = s.indexOf("\"", start); extra = extra + " " + s.substring(start - 4, end + 1); } start = s.indexOf("class=\""); if (start > -1) { start = start + 7; int end = s.indexOf("\"", start); extra = extra + " " + s.substring(start - 7, end + 1); } //start = s.indexOf("xml:lang=\""); //if (start > -1) { // start = start + 10; // int end = s.indexOf("\"", start); // extra = extra + " " + s.substring(start - 10, end + 1); //} Vector v = new Vector(); v.add(xmlspace); v.add(extra); return v; } private Vector processImgTag(String s) { String src = ""; String alt = ""; String height = ""; String hspace = ""; String localsrc = ""; String vspace = ""; String width = ""; String align = "N/A"; String extra = ""; int start = s.indexOf("src"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); src = s.substring(start + 1, end); } } } start = s.indexOf("alt"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); alt = s.substring(start + 1, end); } } } start = s.indexOf("height"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); height = s.substring(start + 1, end); } } } start = s.indexOf("hspace"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); hspace = s.substring(start + 1, end); } } } start = s.indexOf("localsrc"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); localsrc = s.substring(start + 1, end); } } } start = s.indexOf("vspace"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); vspace = s.substring(start + 1, end); } } } start = s.indexOf("width"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); width = s.substring(start + 1, end); } } } start = s.indexOf("align"); if (start > -1) { start = s.indexOf("=" , start + 1); if (start > -1) { start = s.indexOf("\"" , start + 1); if (start > -1) { int end = s.indexOf("\"" , start + 1); if (end < 0) end = s.length(); align = s.substring(start + 1, end); } } } start = s.indexOf("id=\""); if (start > -1) { start = start + 4; int end = s.indexOf("\"", start); extra = extra + " " + s.substring(start - 4, end + 1);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -