Montag, 4. Juni 2012, 23:03
Kurzbeschreibung
Dieses Snippet escaped den KCode und parsed BBCodes.
Beschreibung
Wer kein Bock auf KCodes hat, nutzt einfach diese Methode. Sieben Beispiele vorhanden. RegEx muss selbst erweitert werden.
|
Java-Quelltext
|
1
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
|
public static String parse(String text) {
String html = escape(text);
Map<String, String> bbMap = new HashMap<String , String>();
bbMap.put("\\[b\\](.+?)\\[/b\\]", "_$1_");
bbMap.put("\\[i\\](.+?)\\[/i\\]", ""$1"");
bbMap.put("\\[textborder\\](.+?)\\[/textborder\\]", "°>{textborder}<°$1§");
bbMap.put("\\[center\\](.+?)\\[/center\\]", "°>center<°$1°#>left<°°");
bbMap.put("\\[url\\](.+?)\\[/url\\]", "°>>$1|$1<°");
bbMap.put("\\[img\\](.+?)\\[/img\\]", "°>$1<°");
bbMap.put("\\[url=(.+?)\\](.+?)\\[/url\\]", "°>>$2|$1<°");
for(String value : bbMap.keySet()) {
html = html.replaceAll(value, bbMap.get(value));
}
return html;
}
public static String escape(String message) {
return message
.replace("", "\\")
.replace(""", """)
.replace("#", "\\#")
.replace("_", "\\_")
.replace("§", "\\§")
.replace("°", "\\°");
}
|
Löschung beantragen
bedenklichen Inhalt melden