/ 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
htmlspecialchars()
Fra : Jesper Henriksen


Dato : 11-04-02 20:38

Hey....

findes der en "omvendt" funktion til: htmlspecialchars();

Jesper



 
 
Jonas Koch Bentzen (11-04-2002)
Kommentar
Fra : Jonas Koch Bentzen


Dato : 11-04-02 20:56

Jesper Henriksen skrev:

> findes der en "omvendt" funktion til: htmlspecialchars();

$erstat = array(
'&' => '&',
'&lt;' => '<',
'&gt;' => '>'
);
echo strtr($streng, $erstat);

--
Jonas Koch Bentzen

http://understroem.dk/

Andreas Kleist Svend~ (11-04-2002)
Kommentar
Fra : Andreas Kleist Svend~


Dato : 11-04-02 21:39

Jonas Koch Bentzen wrote:

> Jesper Henriksen skrev:
>
>> findes der en "omvendt" funktion til: htmlspecialchars();
>
> $erstat = array(
> '&amp;' => '&',
> '&lt;' => '<',
> '&gt;' => '>'
> );
> echo strtr($streng, $erstat);

I visse tilfælde ændres enkelt og dobbelt anførselstegn også. (Hvis hhv.
ENT_QUOTES er sat, og ENT_NOQUOTES _ikke_ er sat)

http://dk.php.net/htmlspecialchars

--
mvh Andreas Kleist Svendsen

Peter Brodersen (11-04-2002)
Kommentar
Fra : Peter Brodersen


Dato : 11-04-02 22:48

On Thu, 11 Apr 2002 21:38:21 +0200, "Jesper Henriksen"
<jesper@begavet.dk> wrote:

>findes der en "omvendt" funktion til: htmlspecialchars();

Du kan evt. gå via get_html_translation_table() - effekten vil være
den samme som Jonas' array (og efterfølgende brug af strtr() ), men
dit indlæg er et godt oplæg til at nævne funktionen:
http://www.php.net/manual/en/function.get-html-translation-table.php

--
- Peter Brodersen

Kristian Risager Lar~ (11-04-2002)
Kommentar
Fra : Kristian Risager Lar~


Dato : 11-04-02 23:00

> Du kan evt. gå via get_html_translation_table() - effekten vil være
> den samme som Jonas' array (og efterfølgende brug af strtr() ), men
> dit indlæg er et godt oplæg til at nævne funktionen:
> http://www.php.net/manual/en/function.get-html-translation-table.php

Effekten må da være bedre end Jonas' ellers udmærkede eksempel, hvis
Andreas' indlæg også læses.

--
Kristian Risager Larsen
http://www.kezze.dk - mailto:kezze@kezze.dk
"Artificial Intelligence usually beats natural stupidity."



Niels Prins (16-04-2002)
Kommentar
Fra : Niels Prins


Dato : 16-04-02 01:54

In article <Gunt8.15206$567.847984@news000.worldonline.dk>, Peter
Brodersen <professionel@nerd.dk> wrote:

> Du kan evt. gå via get_html_translation_table() - effekten vil være
> den samme som Jonas' array (og efterfølgende brug af strtr() ), men
> dit indlæg er et godt oplæg til at nævne funktionen:
> http://www.php.net/manual/en/function.get-html-translation-table.php

Jeg har på det sidste arbejdet med denne funktion og kan ikke få det
til at virke. På adressen
http://www.php.net/manual/en/function.get-html-translation-table.php
ligger flg eksempel kode
<?
$trans = get_html_translation_table(HTML_ENTITIES);
$str = "Hallo & <Frau> & Krämer";
$encoded = strtr($str, $trans);
?>
php.net påstår:
The $encoded variable will now contain: "Hallo &amp; &lt;Frau&gt; &amp;
Kr&auml;mer".
hvilket er hvad jeg søger at opnå, men jeg får:
Hallo & <Frau> & Kr·mer
hvilket ikke kan bruges.
Hvad gør jeg galt?

Niels

Peter Brodersen (17-04-2002)
Kommentar
Fra : Peter Brodersen


Dato : 17-04-02 01:03

On Tue, 16 Apr 2002 02:53:35 +0200, Niels Prins <niels@nprins.dk>
wrote:

>Jeg har på det sidste arbejdet med denne funktion og kan ikke få det
>til at virke. På adressen
>http://www.php.net/manual/en/function.get-html-translation-table.php
>ligger flg eksempel kode

Det er kun til at gøre det modsat. Hvis det eneste, du skal gøre, er
at konvertere fx "Spørg" til "Sp&oslash;rg", så er det nok med
funktionen htmlentities(). Fx:

<?
$string = "Spørg";
print htmlentities($string);
?>

Tør man spørge hvorfor du vil konvertere fx ø til &oslash;

--
- Peter Brodersen

Niels Prins (17-04-2002)
Kommentar
Fra : Niels Prins


Dato : 17-04-02 23:32

In article <IX2v8.33674$iY5.1307138@news010.worldonline.dk>, Peter
Brodersen <professionel@nerd.dk> wrote:

> On Tue, 16 Apr 2002 02:53:35 +0200, Niels Prins <niels@nprins.dk>
> wrote:
>
> >Jeg har på det sidste arbejdet med denne funktion og kan ikke få det
> >til at virke. På adressen
> >http://www.php.net/manual/en/function.get-html-translation-table.php
> >ligger flg eksempel kode
>
> Det er kun til at gøre det modsat. Hvis det eneste, du skal gøre, er
> at konvertere fx "Spørg" til "Sp&oslash;rg", så er det nok med
> funktionen htmlentities(). Fx:
>
> <?
> $string = "Spørg";
> print htmlentities($string);
> ?>

Denne kode giver resultatet
Sp¿rg
på min maskine???????


> Tør man spørge hvorfor du vil konvertere fx ø til &oslash;

Jeg skal lave en søgning i en database hvor alt tekst ligger i html, så
hvis brugeren søger på f.eks. Nørgård, skal søge strengen oversættes
til html for at det giver mening for databasen (MySql).
Gode råd modtages gerne.

Niels

Peter Brodersen (18-04-2002)
Kommentar
Fra : Peter Brodersen


Dato : 18-04-02 04:34

On Thu, 18 Apr 2002 00:31:39 +0200, Niels Prins <niels@nprins.dk>
wrote:

>Denne kode giver resultatet
>Sp¿rg
>på min maskine???????

Det lyder ret meget som om, din browser til din Mac har fået noget
galt i halsen. Macs har rigtigtnok et andet tegnsæt end fx Windows og
Unix, men de fleste browsere til Mac er netop flinke nok til at
kompensere for dette.

Hvad angår den anden løsning kan jeg kun anbefale ikke at have HTML
(og HTML-encodings af fx æøå) liggende direkte i databasen. Men det er
måske for sent nu?

--
- Peter Brodersen

Niels Prins (18-04-2002)
Kommentar
Fra : Niels Prins


Dato : 18-04-02 05:20

In article <E6rv8.33911$iY5.1374011@news010.worldonline.dk>, Peter
Brodersen <professionel@nerd.dk> wrote:

> On Thu, 18 Apr 2002 00:31:39 +0200, Niels Prins <niels@nprins.dk>
> wrote:
>
> >Denne kode giver resultatet
> >Sp¿rg
> >på min maskine???????
>
> Det lyder ret meget som om, din browser til din Mac har fået noget
> galt i halsen. Macs har rigtigtnok et andet tegnsæt end fx Windows og
> Unix, men de fleste browsere til Mac er netop flinke nok til at
> kompensere for dette.

Jeg har aldrig problemer med tegnene på nettet, så jeg mistænker at det
er opsætningen på min server eller php. Jeg bruger MacOSX, Apache og
PHP 4.1.2. Jeg mistænker en sprogindstilling i konfigurationen af
serveren, men jeg kan ikke umiddelbart se hvor det er. Nogle ideer?
>
> Hvad angår den anden løsning kan jeg kun anbefale ikke at have HTML
> (og HTML-encodings af fx æøå) liggende direkte i databasen. Men det er
> måske for sent nu?

Hvorfor? Hvis der er en virkelig god grund til at ændre på dette kan
det nok lade sig gøre, ellers er det for sent nu. Min overvejelse gik
på at når der ikke skal konverteres til html ved levering fra server
til browser måtte det gå hurtigere....
En anden grund er at i administartionsdelen af dette CMS er det muligt
at bruge html koder til formatering o.s.v., så for at undgå en sitution
hvor noget skal oversættes til html og noget ikke har jeg valgt at alle
artikler ligger som html. Men jeg vil gerne hører nogle argumenter for
og imod da jeg selv ville foretrække at databasen indeholdt den rene
tekst, men det kan jo ikke lade sig gøre hvis der skal være mulighed
for at formaterer teksten (fed, kursiv).

Niels

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

Månedens bedste
Årets bedste
Sidste års bedste