[JAVA] htmlentities class voor java?

Pagina: 1
Acties:

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
wie weet waar ik ergens een mooie htmlentities converter class kan vinden.
ik zie em niet zo snel.

moet basicly vreemde characters omzetten in html equivalenten.

dus bv van een "©" een "©" maken.

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
JDOM heeft hiervoor ingebouwde support. Code die je in het algemeen kan gebruiken:
code:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
   protected String escapeAttributeEntities(String st)
    {
      StringBuffer buff = new StringBuffer();
      char[] block = st.toCharArray();
      String stEntity = null;
      int i, last;

      for (i=0, last=0; i < block.length; i++)
        {
        switch(block[i])
            {
            case '<' :
              stEntity = "&lt;";
              break;
            case '>' :
              stEntity = "&gt;";
              break;
            case '\"' :
              stEntity = "&quot;";
              break;
            case '&' :
              stEntity = "&amp;";
              break;
            default :
              /* no-op */ ;
        }
        if (stEntity != null)
            {
            buff.append(block, last, i - last);
            buff.append(stEntity);
            stEntity = null;
            last = i + 1;
        }
      }
      if(last < block.length)
        {
        buff.append(block, last, i - last);
      }

      return buff.toString();
    }

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • tomato
  • Registratie: November 1999
  • Niet online
Op dinsdag 04 september 2001 19:16 schreef mbravenboer het volgende:
Code die je in het algemeen kan gebruiken:
Er zijn meer tekens met een HTML equivalent dan deze vier. Ik weet niet of GiLuX deze allemaal wil vervangen (als in de htmlentities() functie uit PHP gebruikelijk is)?

Ik weet ook niet wat JDOM hiermee doet?

  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
JDOM escaped in ieder geval alleen deze karakters. Het wordt geoutput naar een Writer, dus als je de goede encoding insteld hoeven de overige karakters geeneens geescaped te worden (dat is immers niet verplicht volgens mij...).

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • tomato
  • Registratie: November 1999
  • Niet online
mbravenboer:
(dat is immers niet verplicht volgens mij...).
Dat is waar :)

[edit]

Maar hij zegt ook dat hij van een copyright tekentje een html intity equivalent wil maken ;)

  • GiLuX
  • Registratie: Juni 1999
  • Laatst online: 12-11-2025
htmlentities() in php vervangt idd geen copyright tekens e.d.
mijn fout.

hoedanook,
ik wil wel graag al dit soort meuk omzetten naar html entities omdat ik een mysql database aan het overzetten ben naar postgres en dan raken dit soort tekens in de war,
worden vervangen door vraagtekens.

het rare is dat als je zoekt op sun.com dat je dan allemaal hits krijgt die naar chilisoft.com verwijzen...
chilisoft is een bedrijf dat een programma heeft gemaakt om onder linux asp te kunnen draaien, dus wat dat er nou weer mee te maken heeft...?

"I disagree with what you are saying, but I will defend to the death your right to say it." -- not clear who


  • drm
  • Registratie: Februari 2001
  • Laatst online: 09-06-2025

drm

f0pc0dert

Music is the pleasure the human mind experiences from counting without being aware that it is counting
~ Gottfried Leibniz


  • Nexopheus
  • Registratie: Juni 2001
  • Laatst online: 28-01 13:50
Ik ben nu bezig met een stukje software die gegevens inleest vanaf een website. Deze site heeft een asp script waar ik mijn variabelen aan doorgeef. Geen probleem zover.

Nu wil ik dus de gegenereerde pagina omzetten in xml, dwz de relavante data..

Kan ik hier nu JDom voor gebruiken ? Zoja hoe precies, ben wel aan het googlen geweest maar kwam niet echt veel zinnigs uit...

Zal nu wel even de documentatie doorlezen op jdom.org.

ps. in hoeverre kan ik hier reguliere expressies gebruiken ?

Wat niet kan is nog nooit gebeurd


  • Nexopheus
  • Registratie: Juni 2001
  • Laatst online: 28-01 13:50
Laat maar zitten. filtering was makkelijker dan ik dacht....
Heb er geen entiteiten voor nodig...
wou deze er namelijk uit filteren ipv anders om |:(

Wat niet kan is nog nooit gebeurd


  • mbravenboer
  • Registratie: Januari 2000
  • Laatst online: 06-11-2025
Nexopheus: Kan ik hier nu JDom voor gebruiken ? Zoja hoe precies, ben wel aan het googlen geweest maar kwam niet echt veel zinnigs uit...
Ja dat kan. Je kunt met behulp van JDOM een DOM opbouwen. Deze kan je daarna serializeren naar XML output :) . Je hoeft daarbij geen rekening te houden met tekens die herschreven moeten worden.

Blog, Stratego/XT: Program Transformation, SDF: Syntax Definition, Nix: Software Deployment


  • Scorpion
  • Registratie: April 2000
  • Laatst online: 18-01-2024

Scorpion

not to lame to read BitchX.doc

Hmm tijdje terug zoiets gemaakt, moest snel, dus niet echt super geweldig gecode, maar het werkt :)
code:
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
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
package charconverter;

import java.io.*;
import java.util.*;

/**
 * Title:     Special Character Converter
 * Description:  Converts special characters to their according HTML-code.
 * Copyright:    Copyright (c) 2001
 * Company:
 * @author Scorpion (scorpion@occultforces.mine.nu / http://occultforces.mine.nu)
 * @version 1.0
 */

public class CharConverter {

  public String replace(String source,Hashtable replace) {
    String buffer = "";
    int i = 0;
    while (i<source.length()) {
    if (replace.containsKey(source.substring(i,i+1))) buffer += replace.get(source.substring(i,i+1));

    else buffer += source.charAt(i);
    i++;
    }
    return buffer;
  }

  public CharConverter(String args[]) {
    Hashtable chars = new Hashtable();
    chars.put("¡","&iexcl;");
    chars.put("¿","&iquest;");

    chars.put("á","&aacute;");
    chars.put("é","&eacute;");
    chars.put("ó","&oacute;");
    chars.put("í","&iacute;");
    chars.put("ú","&uacute;");

    chars.put("à","&agrave;");
    chars.put("è","&egrave;");
    chars.put("ò","&ograve;");
    chars.put("ì","&igrave;");
    chars.put("ù","&ugrave;");

    chars.put("ä","&auml;");
    chars.put("ë","&euml;");
    chars.put("ö","&ouml;");
    chars.put("ï","&iuml;");
    chars.put("ü","&uuml;");

    chars.put("â","&acirc;");
    chars.put("ê","&ecirc;");
    chars.put("ô","&ocirc;");
    chars.put("î","&icirc;");
    chars.put("û","&ucirc;");

    chars.put("Á","&Aacute;");
    chars.put("É","&Eacute;");
    chars.put("Ó","&Oacute;");
    chars.put("Í","&Iacute;");
    chars.put("Ú","&Uacute;");

    chars.put("À","&Agrave;");
    chars.put("È","&Egrave;");
    chars.put("Ò","&Ograve;");
    chars.put("Ì","&Igrave;");
    chars.put("Ù","&Ugrave;");

    chars.put("Ä","&Auml;");
    chars.put("Ë","&Euml;");
    chars.put("Ö","&Ouml;");
    chars.put("Ï","&Iuml;");
    chars.put("Ü","&Uuml;");

    chars.put("Â","&Acirc;");
    chars.put("Ê","&Ecirc;");
    chars.put("Ô","&Ocirc;");
    chars.put("Î","&Icirc;");
    chars.put("Û","&Ucirc;");

    chars.put("Ñ","&Ntilde;");
    chars.put("ñ","&ntilde;");

    chars.put("ß","&szlig;");

    String input;

    try {
    PrintStream fout = new PrintStream(new FileOutputStream(args[1]));
    DataInputStream fin = new DataInputStream(new FileInputStream(args[0]));
    try {
      while (fin.available()!=0) {
        input = fin.readLine();
        System.out.println(input);
        fout.println(replace(input,chars));
      }
    } catch(IOException ioe) {
      System.out.println("Error while reading file");
    }
    } catch(FileNotFoundException fnfe) {
    System.out.println("File not found, Exit.");
    }
  }

  public static void main(String args[]) {
    if (args.length>0) {
    new CharConverter(args);
    } else {
    System.out.println("Usage:\n  CharConverter <input file> <output file>");
    }
  }
}

  • Scorpion
  • Registratie: April 2000
  • Laatst online: 18-01-2024

Scorpion

not to lame to read BitchX.doc

ennuhm ohja, had alleen de characters ingevoerd die ik nodig had, maar dat is ook al een groot aantal. je kan ze snel genoeg zelf toevoegen als er meer nodig zijn. w3c kan je ze wel vinden. en die van mbravenboer daar boven had staan zal waarschijnlijk wel beter werken :)

  • Nexopheus
  • Registratie: Juni 2001
  • Laatst online: 28-01 13:50
Perfect,

Eerste probleem is al opgelost,
maar hier kan ik ook weer mee verder...

Bedankt

Wat niet kan is nog nooit gebeurd

Pagina: 1