package com.rubika.aotalk.recipebook;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import com.rubika.aotalk.util.Logging;
import com.rubika.aotalk.util.Statics;
public class RecipeParser {
private static final String APP_TAG = "--> The Leet :: RecipeParser";
public static String parse(String data) {
Pattern pattern;
Matcher matcher;
//data = data.replaceAll("\\<.*?>","");
data = data.replace("\\r\\n", "<br />")
.replace("\\r\\r", "<br />")
.replace("<", "<")
.replace(">", ">")
.replace(""", "\"")
.replace("&", "&")
.replace("( ", "(")
.replace("------------------------------", "<hr />")
.replace("<hr /><br />", "<hr />");
data = data.replace("#C12", "")
.replace("#C14", "")
.replace("#C15", "")
.replace("#C16", "")
.replace("#C20", "")
.replace("#16", "");
pattern = Pattern.compile("<img src=\'?rdb://([0-9]*?)\'?>");
matcher = pattern.matcher(data);
while(matcher.find()) {
Logging.log(APP_TAG, "found image");
data = data.replace(
"<img src=rdb://" + matcher.group(1) + ">",
"<img src=\"" + Statics.ICON_PATH + matcher.group(1) + "\" class=\"icon clear\" />"
);
data = data.replace(
"<img src='rdb://" + matcher.group(1) + "'>",
"<img src=\"" + Statics.ICON_PATH + matcher.group(1) + "\" class=\"icon clear\" />"
);
}
pattern = Pattern.compile("#L \"([^/\"]*?)\" \"/tell recipebook rshow (.*?)\"");
matcher = pattern.matcher(data);
while(matcher.find()) {
data = data.replace(
"#L \"" + matcher.group(1) + "\" \"/tell recipebook rshow " + matcher.group(2) + "\"",
"<a href=\"aorb://" + matcher.group(2) + "\">" + matcher.group(1) + "</a>"
);
}
pattern = Pattern.compile("#L \"([^\"]*?)\" \"([0-9]*?)\"");
matcher = pattern.matcher(data);
while(matcher.find()) {
data = data.replace(
"#L \"" + matcher.group(1) + "\" \"" + matcher.group(2) + "\"",
"<a href=\"itemref://" + matcher.group(2) + "/0/0\">" + matcher.group(1) + "</a>"
);
}
pattern = Pattern.compile("#L \"([^/\"]*?)\" \"(.*?)\"");
matcher = pattern.matcher(data);
while(matcher.find()) {
data = data.replace(
"#L \"" + matcher.group(1) + "\" \"" + matcher.group(2) + "\"",
matcher.group(1)
);
}
return data;
}
}