summaryrefslogtreecommitdiffstats
path: root/parsers
diff options
context:
space:
mode:
Diffstat (limited to 'parsers')
-rw-r--r--parsers/CodeBlocks.java57
-rw-r--r--parsers/SymbolMap.java62
2 files changed, 63 insertions, 56 deletions
diff --git a/parsers/CodeBlocks.java b/parsers/CodeBlocks.java
index 251c4de..75efa27 100644
--- a/parsers/CodeBlocks.java
+++ b/parsers/CodeBlocks.java
@@ -36,71 +36,16 @@ public class CodeBlocks implements Parser {
while(matcher.find()) {
replacement.delete(0,replacement.length());
replacement.append("<div class=\"code\">");
- replacement.append(lbreak.parse(quote(matcher.group(3))));
+ replacement.append(lbreak.parse(symbolMap.quote(matcher.group(3))));
replacement.append("</div>");
matcher.appendReplacement(sbuffer,replacement.toString());
}
matcher.appendTail(sbuffer);
return sbuffer.toString();
}
- /**
- * this method quotes symbols to a HTML number.
- */
- private String quote(String string) {
- Pattern pattern = Pattern.compile("(\\&(amp|lt|gt|(\\#35))\\;)|(\\p{Punct})");
- Matcher matcher = pattern.matcher(string);
- StringBuffer sbuffer = new StringBuffer();
- while(matcher.find()) {
- if(matcher.group(4)!=null) {
- matcher.appendReplacement(sbuffer,
- symbolMap.get(matcher.group()));
- }
- }
- matcher.appendTail(sbuffer);
- return sbuffer.toString();
- }
}
/**
- * Map of Symbols & their HTML equivalent numbers.
- */
-class SymbolMap extends HashMap<String, String> {
- public SymbolMap() {
- put("!","&#33;");
- put("\"","&#34;");
- put("#","&#35;");
- put("$","&#36;");
- put("%","&#37;");
- put("&","&#38;");
- put("'","&#39;");
- put("(","&#40;");
- put(")","&#41;");
- put("*","&#42;");
- put("+","&#43;");
- put(",","&#44;");
- put("-","&#45;");
- put(".","&#46;");
- put("/","&#47;");
- put(":","&#58;");
- put(";","&#59;");
- put("<","&#60;");
- put("=","&#61;");
- put(">","&#62;");
- put("?","&#63;");
- put("@","&#64;");
- put("[","&#91;");
- put("\\","&#92;");
- put("]","&#93;");
- put("^","&#94;");
- put("_","&#95;");
- put("`","&#96;");
- put("{","&#123;");
- put("|","&#124;");
- put("}","&#125;");
- put("~","&#126;");
- }
-}
-/**
Special Case:
diff --git a/parsers/SymbolMap.java b/parsers/SymbolMap.java
new file mode 100644
index 0000000..94f1f14
--- /dev/null
+++ b/parsers/SymbolMap.java
@@ -0,0 +1,62 @@
+
+package scruf.parsers;
+
+import java.util.regex.*;
+import java.util.*;
+
+/**
+ * Map of Symbols & their HTML equivalent numbers.
+ */
+public class SymbolMap extends HashMap<String, String> {
+ public SymbolMap() {
+ put("!","&#33;");
+ put("\"","&#34;");
+ put("#","&#35;");
+ put("$","&#36;");
+ put("%","&#37;");
+ put("&","&#38;");
+ put("'","&#39;");
+ put("(","&#40;");
+ put(")","&#41;");
+ put("*","&#42;");
+ put("+","&#43;");
+ put(",","&#44;");
+ put("-","&#45;");
+ put(".","&#46;");
+ put("/","&#47;");
+ put(":","&#58;");
+ put(";","&#59;");
+ put("<","&#60;");
+ put("=","&#61;");
+ put(">","&#62;");
+ put("?","&#63;");
+ put("@","&#64;");
+ put("[","&#91;");
+ put("\\","&#92;");
+ put("]","&#93;");
+ put("^","&#94;");
+ put("_","&#95;");
+ put("`","&#96;");
+ put("{","&#123;");
+ put("|","&#124;");
+ put("}","&#125;");
+ put("~","&#126;");
+ }
+ /**
+ * this method quotes symbols to a HTML number.
+ */
+ public String quote(String string) {
+ Pattern pattern = Pattern.compile("(\\&(amp|lt|gt|(\\#35))\\;)|(\\p{Punct})");
+ Matcher matcher = pattern.matcher(string);
+ StringBuffer sbuffer = new StringBuffer();
+ while(matcher.find()) {
+ if(matcher.group(4)!=null) {
+ matcher.appendReplacement(sbuffer,
+ this.get(matcher.group()));
+ }
+ }
+ matcher.appendTail(sbuffer);
+ return sbuffer.toString();
+ }
+}
+