[JS] Special Chars -> Plaintext

Pagina: 1
Acties:

  • Funcracker
  • Registratie: Juni 2001
  • Laatst online: 28-04 18:17

Funcracker

The LedZ Collective

Topicstarter
Sorry voor de titel, maar ik kon even geen korte kernzin formuleren voor mijn probleem.

Dat is als volgt:
Ik lees op een bepaald moment text tussen 2 DIV-tags in naar een Textarea.
Als ik dat doe worden alle speciale characters in de text omgezet naar de bijbehorende codes. Dus '&' wordt '&'. Opzich geen probleem, maar dit had ik liever niet.
Vervolgens kan door interactie met de gebruiker de text worden aangepast en terug worden geparsed naar waar het oorspronkelijk tussen die DIV-tags stond.

Alleen blijven die special char codes gehandhaafd. Omdat er in mijn links ampersands voorkomen die ik niet opeens als '&' erin wil hebben moet de text dus gewoon plain teruggeschreven worden en niet zoals nu gebeurt.

Ik zou bijna zeggen dat er hier wel een standaard functie voor moet zijn...
En zo niet.. Hoe zou ik dat dan kunnen doen?

I am one hell of a guy, I can do anything I want, only I just don't have the faintest idea what.
Zaphod Beeblebrox, in The Hitch Hiker's Guide To The Galaxy


  • ajvdvegt
  • Registratie: Maart 2000
  • Laatst online: 15-08 12:40
Daar is geen standaard JS functie voor volgens mij. Maar hij's vrij makkelijk zelf te schrijven: zoeken naar ampersands, en de tekst die dan voglt tot de ; er uitfilteren, en opzoeken in een tabel waardoor je het hele zaakje moet vervangen.
Officieel moeten ook ampersands in links als & geschreven worden hoor, dus wat je terug krijg in JS is prima.

En doen alle browsers hetzelfde?

I don't kill flies, but I like to mess with their minds. I hold them above globes. They freak out and yell "Whooa, I'm *way* too high." -- Bruce Baum


Verwijderd

er is wel een escape functie, maar geen functie om het weer terug naar normaal te brengen... dit is niet helemaal wat je zoekt is server side... maar het geeft je een idee hoe je t zelf zou moeten maken

PHP:
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
<script language=vbscript runat=server>
Dim S3Temp(1,1)
Function URLDecode(S3Decode)
    S3In  = S3Decode
    S3Out = ""
    S3In  = Replace(S3In, "+", " ")
    S3Pos = Instr(S3In, "%")
        Do While S3Pos
            S3Len = Len(S3In)
        If S3Pos > 1 Then S3Out = S3Out & Left(S3In, S3Pos - 1)
        S3Temp(0,0) = Mid(S3In, S3Pos + 1, 1)
        S3Temp(1,0) = Mid(S3In, S3Pos + 2, 1)
                For S3i = 0 to 1
                    If Asc(S3Temp(S3i,0)) > 47 And Asc(S3Temp(S3i, 0)) < 58 Then
                            S3Temp(S3i, 1) = Asc(S3Temp(S3i, 0)) - 48
                            Else
                            S3Temp(S3i, 1) = Asc(S3Temp(S3i, 0)) - 55
                            End If
                    Next
                S3Out = S3Out & Chr((S3Temp(0,1) * 16) + S3Temp(1,1))
        S3In  = Right(S3In, (S3Len - (S3Pos + 2)))
        S3Pos = Instr(S3In, "%")
            Loop
    
    URLDecode = S3Out & S3In
    End Function
</script>

[ Voor 6% gewijzigd door Verwijderd op 03-02-2003 17:46 ]


  • Funcracker
  • Registratie: Juni 2001
  • Laatst online: 28-04 18:17

Funcracker

The LedZ Collective

Topicstarter
ajvdvegt schreef op 03 februari 2003 @ 16:08:
Daar is geen standaard JS functie voor volgens mij. Maar hij's vrij makkelijk zelf te schrijven: zoeken naar ampersands, en de tekst die dan voglt tot de ; er uitfilteren, en opzoeken in een tabel waardoor je het hele zaakje moet vervangen.
Officieel moeten ook ampersands in links als & geschreven worden hoor, dus wat je terug krijg in JS is prima.

En doen alle browsers hetzelfde?
IE en NS hebben er last van (nieuwste versies)..

En ampersands in links horen gewoon ampersands te blijven.. Nu gaat PHP zwaar over zijn nek namelijk :)

Bedankt voor de code mabit. Ik volg het niet helemaal, maar das niet zo erg.
Ik weet wel hoe ik zelf zoiets kan maken, maar ging er eigenlijk vanuit dat dat toch wel makkelijker moest kunnen...

I am one hell of a guy, I can do anything I want, only I just don't have the faintest idea what.
Zaphod Beeblebrox, in The Hitch Hiker's Guide To The Galaxy