Avatar billede seekasr Nybegynder
22. maj 2004 - 17:35 Der er 5 kommentarer og
1 løsning

Konverter alle speciel-tegn til entity-kode

Hej

Jeg har ofte noget data der indeholder speciel-tegn, som derfor skal omdannes til den passende entity-kode. Til det har PHP lavet htmlentities(). Desværre tager den ikke alle tegn.

Man kan så laver sine egne str_replace() el.lign., men det er heller ikke godt nok, for man kan ikke indtaste alle tegn i sine php-filer - eller jeg kan i hvert fald ikke.

Hvad gør man så?

VH
seekasr
Avatar billede danino Nybegynder
22. maj 2004 - 17:38 #1
Du kan evt. kigge på htmlspecialchars()
http://dk.php.net/manual/en/function.htmlspecialchars.php
Avatar billede seekasr Nybegynder
22. maj 2004 - 17:48 #2
Hvis du læste beskrivelsen af htmlspecialchars() ville du se følgende:

"This function returns a string with some of these conversions made; the translations made are those most useful for everyday web programming. If you require all HTML character entities to be translated, use htmlentities() instead."

Men htmlentities() tager altså heller ikke alt.
Avatar billede jakoba Nybegynder
22. maj 2004 - 20:05 #3
hvad er det da fur tegn den ikke tager og som du ønsker taget ? Hvis det kun er nogle få kan du evt lave konverteringen selv med str_replace funktionen.

den generelle regel er at du kan skrive enhver html-entity med entetn et navn  "  eller med tegnets asciværdi i decimalt  "  eller hexadecimalt  "
du kan finde asciiværdierne her: www.asciitable.com

mvh JakobA
Avatar billede olebole Juniormester
22. maj 2004 - 21:41 #4
<ole>

Du kan udover str_replace() også bruge strtr():

$replArr = array(
  "i" => "o",
  "a" => "e"
);

$s = "jag hadder ilebile";
$s = strtr( $s, $replArr );
print $s;

/mvh
</bole>
Avatar billede seekasr Nybegynder
27. maj 2004 - 00:05 #5
Undskyld jeg ikke har svaret.

olebole: Yes ok, men det var nu ikke lige det.

jakoba: Det er primært tegn der kommer, når man smider noget tekst fra MS Word over i en db. W3C-validatoren reagerer med 'non SGML character'

Eks:
– (den lidt længere bindestreg fra Word)
”

Jeg kan ikke finde dem på ASCII-listen.
Avatar billede seekasr Nybegynder
05. februar 2005 - 14:29 #6
Lukker, har ikke fundet ud af det.
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