Argh,
ik kom er eventjes niet meer uit. Ik krijg uit een xml bestand een berg tekst aangeleverd waar een hoop html opmaak in staat (gegenereerd door onder andere ms-word). Ik wil die zooi er uit hebben, op vier tags na. De br tag wordt vervangen door een newline (werkt prima) en verder moeten de bold, italic en understrike tags blijven staan...
Wat ik nu doe is het volgende:
[code=java]
Pattern removeHTML = Pattern.compile(tags[i], Pattern.CASE_INSENSITIVE & Pattern.UNICODE_CASE);
Matcher matcher = removeHTML.matcher(text);
StringBuffer noHTML = new StringBuffer();
while(matcher.find())
matcher.appendReplacement(noHTML, replacements);
matcher.appendTail(noHTML);
text = noHTML.toString();
[/code]
Mijn regex pattern voor de tags is: "<?[^bui>]*>" (er gaat iets mis met de opmaak
)
Helaas worden nu tags als <b> en dergelijke toch verwijderd, terwijl tags als <font size=2> blijven staan
Ik heb de sun documentatie doorgelezen. Volgens mij zou [^bui>] betekenen, alles buiten b, u, i en >. Helaas dus niet. Wat gaat er fout in mijn redenatie?
Ohja, ik werk dus met de nieuwste jdk, met j2se 1.5.0_4 java.util.regex.*; package... Ik neem toch aan dat dat voldoende zou moeten zijn.
ik kom er eventjes niet meer uit. Ik krijg uit een xml bestand een berg tekst aangeleverd waar een hoop html opmaak in staat (gegenereerd door onder andere ms-word). Ik wil die zooi er uit hebben, op vier tags na. De br tag wordt vervangen door een newline (werkt prima) en verder moeten de bold, italic en understrike tags blijven staan...
Wat ik nu doe is het volgende:
[code=java]
Pattern removeHTML = Pattern.compile(tags[i], Pattern.CASE_INSENSITIVE & Pattern.UNICODE_CASE);
Matcher matcher = removeHTML.matcher(text);
StringBuffer noHTML = new StringBuffer();
while(matcher.find())
matcher.appendReplacement(noHTML, replacements);
matcher.appendTail(noHTML);
text = noHTML.toString();
[/code]
Mijn regex pattern voor de tags is: "<?[^bui>]*>" (er gaat iets mis met de opmaak
Helaas worden nu tags als <b> en dergelijke toch verwijderd, terwijl tags als <font size=2> blijven staan
Ohja, ik werk dus met de nieuwste jdk, met j2se 1.5.0_4 java.util.regex.*; package... Ik neem toch aan dat dat voldoende zou moeten zijn.
[ Voor 9% gewijzigd door Verwijderd op 30-08-2005 15:15 . Reden: Extra informatie m.b.t. de java omgeving ]