/ Forside / Teknologi / Udvikling / PHP / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
PHP
#NavnPoint
rfh 3959
natmaden 3372
poul_from 3310
funbreak 2700
stone47 2230
Jin2k 1960
Angband 1743
Bjerner 1249
refi 1185
10  Interkril.. 1146
omvendt htmlspecialchars?
Fra : Tonni Aagesen


Dato : 30-10-01 00:09

Hejsa NG,

Findes der en funktion, der kan invertere en string, der har været i gennem
htmlspecialchars, tilabe igen uden at skulle bruge *_replace?


--
Mvh
Tonni Aagesen
agent29@mail1.stofanet.dk



 
 
Per Thomsen (30-10-2001)
Kommentar
Fra : Per Thomsen


Dato : 30-10-01 00:28


"Tonni Aagesen" <use.my@signature.com> skrev i en meddelelse
news:9rkn8v$4fk$1@sunsite.dk...
> Hejsa NG,
>
> Findes der en funktion, der kan invertere en string, der har været i
gennem
> htmlspecialchars, tilabe igen uden at skulle bruge *_replace?

Nej.
Oftest bruges htmlspecialchars, når du vil udskrive noget til browseren, som
kan
indeholde specialchars. Hvis det f.eks. er i et <INPUT TYPE="hidden" ...>
du udskriver disse, vil værdien, når den bliver submitted igen indeholde
specialchars (ihvertfald med IE5+).

Du kan også tage et kig på urlencode og urldecode, og se om de ikke kan gøre
tricket for dig.

Hvis det er fordi du skal både udskrive og videresende værdien, kunne du
evt. urlencode, værdien i et hidden-felt,
og så lave htmlspecialchars, der hvor du udskriver værdien.
For at hente værdien igen kører du så bare urldecode på dit hidden felt.

Jeg syntes dog lidt at, når du efterlyser en sådan funktion, antyder det at
htmlspecialchars bliver brugt på et 'forkert' tidspunkt.

NB! Jeg mener at have fundet det nødvendig at bruge rawurlencode og
rawurldecode, for at få noget lignende til at virke med Netscape.

MVH Per Thomsen,
http://www.pert.dk/

[snip]



Peter Brodersen (30-10-2001)
Kommentar
Fra : Peter Brodersen


Dato : 30-10-01 05:19

On Tue, 30 Oct 2001 00:08:34 +0100, "Tonni Aagesen"
<use.my@signature.com> wrote:

>Findes der en funktion, der kan invertere en string, der har været i gennem
>htmlspecialchars, tilabe igen uden at skulle bruge *_replace?

Du kan evt. være kreativ og bruge get_html_translation_table() og
strtr() - check evt.:

http://www.php.net/manual/en/function.get-html-translation-table.php

<?
$trans = get_html_translation_table(HTML_ENTITIES);
$trans = array_flip($trans);
$original = strtr($string, $trans);
?>

Hvis det blot er ved brug af htmlspecialchars (der kun erstatter 4-5
tegn), burde det ikke være slemt eller tungt at bruge str_replace.

--
- Peter Brodersen

Søg
Reklame
Statistik
Spørgsmål : 177554
Tips : 31968
Nyheder : 719565
Indlæg : 6408852
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste