Avatar billede clausjul Nybegynder
18. november 2004 - 12:58 Der er 7 kommentarer og
1 løsning

Ulovlige tegn i en tekstfelt

Jeg har et tekstfelt:

<INPUT TYPE="text" VALUE="Jeg går hen til en "mærkelig" mand">

Ovenstående kan man ikke bruge fordi der er et par " inden i value-attributten. Hvordan kan jeg i PHP escape den, således, at tekstfeltet bliver mere robust? Det skal IKKE gå ud over hvad man ser. Jeg kan ikke bruge htmlentities() fordi f.eks. < bliver ændret til &lt; og det ser ikke kønt ud.
Avatar billede schaefner Juniormester
18. november 2004 - 13:01 #1
"&lt;" vil da stadigvæk blive vist som "<" i tekstfeltet, så hvad er problemet med htmlentities()?
Avatar billede clausjul Nybegynder
18. november 2004 - 13:02 #2
& bliver ændret til &amp; ...
Avatar billede schaefner Juniormester
18. november 2004 - 13:04 #3
ja, det er jo det funktionen skal gøre :)
Avatar billede clausjul Nybegynder
18. november 2004 - 13:07 #4
Ja, men hvis der står

Jeg har både en Bil & Båd - så bliver det ændret til

Jeg har både en bil &amp; Båd

Tekstfeltets indhold er det brugeren ser - så det går ikke.
Avatar billede schaefner Juniormester
18. november 2004 - 13:09 #5
Jeg må indrømme at jeg stadig ikke kan følge dig.

<input type="text" value="Jeg har både en bil &amp; en båd" />

Brugeren vil se teksten: "Jeg har både en bil & en båd" i feltet

Så hvad er problemet?
Avatar billede clausjul Nybegynder
18. november 2004 - 13:15 #6
Aha... Det var fordi & var allerede encodet!

Så jeg skrev:

htmlentities(html_entity_decode($value))

så blev den vist korrekt :-)
Avatar billede schaefner Juniormester
18. november 2004 - 13:16 #7
ja, hvis det er tilfældet så bliver &amp; jo til &amp;amp; :)
Avatar billede clausjul Nybegynder
19. november 2004 - 08:21 #8
Slut
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester