Avatar billede causasui Nybegynder
24. marts 2003 - 19:51 Der er 20 kommentarer og
4 løsninger

htmlentities

Jeg kan sgu ikke rigtig forstå det her..
Hvordan henter jeg mit DB output på den rigtige måde..
Mit problem er at brugeren skal kunne skrive simple html elementer i sin brødtekst såsom <b></b> etc.. men samtidig vil jeg gerne køre htmlentities og tjekke for alverdens tegn da det både kan være svensk og dansk tekst. Er der nogen der ligger inde med en funktion der kan klare dette?
Avatar billede fangel Nybegynder
24. marts 2003 - 19:53 #1
øhhh. forstår ik' helt...

du vil altså lave tegn som
"Æ" om til "&aElig;"

eller vil du bare gøre sådan at kun tags som "<b>", "<i>" og "<u>" virker, men alt andet ikke gør?

Morten
Avatar billede fangel Nybegynder
24. marts 2003 - 19:53 #2
hov, skulle være &AElig";
Avatar billede causasui Nybegynder
24. marts 2003 - 20:09 #3
-> dea pg
Ja jeg vil lave tegn som æ ø å og alle de svenske specialtegn om..
Men ikke < > og / da brugeren skal kunne indsætte simpel html kode som jo så skal læses af browseren som html og ikke som noget der skal skrives!!
Avatar billede ahv Nybegynder
24. marts 2003 - 20:19 #4
Det kan sikkert gøres kortere men:

<?php
$string = "håøæ ja æøå";
$erstat = array("å");
for($i=0;$i < count($erstat);$i++)
{
$erstat[$i] = "/".$erstat[$i]."/";
$replacements[] = "ö";
}
$string = preg_replace($erstat, $replacements, $string);
$erstat = array("æ");
for($i=0;$i < count($erstat);$i++)
{
$erstat[$i] = "/".$erstat[$i]."/";
$replacements[] = "ö";
}
$string = preg_replace($erstat, $replacements, $string);
$erstat = array("ø");
for($i=0;$i < count($erstat);$i++)
{
$erstat[$i] = "/".$erstat[$i]."/";
$replacements[] = "ö";
}
$string = preg_replace($erstat, $replacements, $string);

echo $string;
?>


Der hvor der står ö er det bogstavet skal erstattes af.
Avatar billede ahv Nybegynder
24. marts 2003 - 20:27 #5
<?php
$string = "håøæ ja æøå";
$erstat = array("å","ø","æ");


for($i=0;$i < count($erstat);$i++)
{
if($erstat[$i] == "å"){
$erstat[$i] = "/".$erstat[$i]."/";
$replacements[] = "aa";
}
if($erstat[$i] == "ø"){
$erstat[$i] = "/".$erstat[$i]."/";
$replacements[] = "oe";
}
if($erstat[$i] == "æ"){
$erstat[$i] = "/".$erstat[$i]."/";
$replacements[] = "ae";
}
}
$string = preg_replace($erstat, $replacements, $string);

echo $string;
?>
Avatar billede ahv Nybegynder
24. marts 2003 - 20:29 #6
Den skal vel også reagere på store bogstaver:


<?php
$string = "håøæ ja æøå ÆÆÆ ØØØ ÅÅÅ";
$erstat = array("å","ø","æ","Å","Ø","Æ");


for($i=0;$i < count($erstat);$i++)
{
if($erstat[$i] == "å"){
$erstat[$i] = "/".$erstat[$i]."/";
$replacements[] = "aa";
}
if($erstat[$i] == "ø"){
$erstat[$i] = "/".$erstat[$i]."/";
$replacements[] = "oe";
}
if($erstat[$i] == "æ"){
$erstat[$i] = "/".$erstat[$i]."/";
$replacements[] = "ae";
}
if($erstat[$i] == "Å"){
$erstat[$i] = "/".$erstat[$i]."/";
$replacements[] = "Aa";
}
if($erstat[$i] == "Ø"){
$erstat[$i] = "/".$erstat[$i]."/";
$replacements[] = "Oe";
}
if($erstat[$i] == "Æ"){
$erstat[$i] = "/".$erstat[$i]."/";
$replacements[] = "Ae";
}
}
$string = preg_replace($erstat, $replacements, $string);

echo $string;
?>
Avatar billede fangel Nybegynder
24. marts 2003 - 20:30 #7
du kunne også lave en simpel

<?php
$str = "jeg har en å. Åen den ligger på en ø";
$erstat['å'] = "&aring;";
$erstat['Å'] = "&Aring;";
$erstat['ø'] = "&oslash;";
//OSV...
foreach($erstat as $key=>$value){
  $str = str_replace($key,$value,$str);
}
echo $str;
?>

Morten
Avatar billede causasui Nybegynder
24. marts 2003 - 20:33 #8
->dea pg og ahv
Jeg kan se det handler om at lave sin egen liste og så ellers køre den tekst igennem man vil ha tjekket for, jeg tror jeg er med nu, er der nogen af jer der ved hvor jeg kan slå alle disse tegn op incl de svenske?
Avatar billede fangel Nybegynder
24. marts 2003 - 20:38 #9
http://www.utoronto.ca/webdocs/HTMLdocs/NewHTML/iso_table.html

der var i hvert fald et par stykker... ;)
Avatar billede fangel Nybegynder
24. marts 2003 - 20:47 #10
og her er lidt copy-past til dig...

http://htd.mfa.ath.cx/exp/iso-tegn.php
Avatar billede causasui Nybegynder
24. marts 2003 - 21:02 #11
Nu har jeg lavet det til en funktion, men de argumenter jeg kalder funktionen med er jo forskellige, lige nu har jeg sat en parameter der hedder $tekst, men jeg har også $fornavn og $efternavn osv som skal tjekkes hvordan laver jeg det så'n at jeg kan bruge funktionen igen igen og kalde den med forskellige argumenter ?
function($tekst)
{
$str = "$tekst";
$erstat['å'] = "&aring;";
$erstat['Å'] = "&Aring;";
$erstat['ø'] = "&oslash;";
$erstat['Ø'] = "&Oslash;";
$erstat['Ä'] = "&Auml;";
$erstat['ä'] = "&auml;";
$erstat['ö'] = "&ouml;";
$erstat['Ö'] = "&Ouml;";
$erstat['"'] = "&quot;";
$erstat['&'] = "&amp;";

    foreach($erstat as $key=>$value)
  {
  $str = str_replace($key,$value,$str);
    }
return $str;
}
Avatar billede causasui Nybegynder
24. marts 2003 - 21:18 #12
Sådan her ser den ud indtil videre!!
<?php
function erstat($tekst)
{
$str = "$tekst";
$erstat['&'] = "&amp;";
$erstat['å'] = "&aring;";
$erstat['Å'] = "&Aring;";
$erstat['ø'] = "&oslash;";
$erstat['Ø'] = "&Oslash;";
$erstat['Ä'] = "&Auml;";
$erstat['ä'] = "&auml;";
$erstat['ö'] = "&ouml;";
$erstat['Ö'] = "&Ouml;";
$erstat['"'] = "&quot;";
$erstat['æ'] = "&aelig;";
$erstat['Æ'] = "&AElig;";
    foreach($erstat as $key=>$value)
  {
  $str = str_replace($key,$value,$str);
    }
return $str;
}

$tekst = "åen er dyb og fæl";
echo erstat($tekst);
?>
Avatar billede causasui Nybegynder
24. marts 2003 - 21:42 #13
I må undskylde jeg sådan bliver ved med at køre rundt i det men kan det passe at man godt kan gøre nedenstående for så har jeg vist fundet ud af det!!
function erstat($tekst)
{
$str = "$tekst";
$erstat['&'] = "&amp;";
$erstat['å'] = "&aring;";
$erstat['Å'] = "&Aring;";
$erstat['ø'] = "&oslash;";
$erstat['Ø'] = "&Oslash;";
$erstat['Ä'] = "&Auml;";
$erstat['ä'] = "&auml;";
$erstat['ö'] = "&ouml;";
$erstat['Ö'] = "&Ouml;";
$erstat['"'] = "&quot;";
$erstat['æ'] = "&aelig;";
$erstat['Æ'] = "&AElig;";
    foreach($erstat as $key=>$value)
  {
  $str = str_replace($key,$value,$str);
    }
return $str;
}

$fornavn = "åen er dyb og fæl";
echo erstat($fornavn);
Avatar billede causasui Nybegynder
24. marts 2003 - 21:43 #14
->dea pg
Smider du ikke et svar så kan jeg dele pointene ud !!
Avatar billede olebole Juniormester
25. marts 2003 - 03:17 #15
<ole>

Hvorfor ikke bruge string-tanslate funktionen, nu den er der ... den er beregnet til netop dette:

$aRepl = array(
    "&" => "&amp;",
    "å" => "&aring;",
    "Å" => "&Aring;",
    "ø" => "&oslash;",
    "Ø" => "&Oslash;",
    "Ä" => "&Auml;",
    "ä" => "&auml;",
    "ö" => "&ouml;",
    "Ö" => "&Ouml;",
    """ => "&quot;",
    "æ" => "&aelig;",
    "Æ" => "&AElig;"
);
$translatedString = strtr( $dinStreng, $aRepl );

/mvh
</bole>
Avatar billede olebole Juniormester
25. marts 2003 - 03:19 #16
Ooooops ..... copy/paste  :D

  """ => "&quot;",
skal selvfølgelig være:
  "\"" => "&quot;",
Avatar billede ion Nybegynder
25. marts 2003 - 03:48 #17
Jeg har et knapt så fancy forslag, men da det ikke er det store du kræver, foreslår jeg følgende:

<?php
$dbstring = "<b><i><u>Ælle bælle, jeg hedder Åæøåöïü. Jag kann pråta svenska & kører 'Citroën'</u></i></b>";
$newstring = htmlentities(strip_tags($dbstring,'<b>'));
// Erstat de tags du vil tillade
$newstring = str_replace('&lt;b&gt;','<b>', $newstring);
$newstring = str_replace('&lt;/b&gt;','</b>', $newstring);
echo $newstring;
?>
Avatar billede tipsen Nybegynder
25. marts 2003 - 10:04 #18
Du kan kigge nærmere på funktionen html_entity_decode() på http://dk.php.net/manual/en/function.html-entity-decode.php

-så vidt jeg kan se er det hvad du har brug for...
Avatar billede avminarm Juniormester
25. marts 2003 - 10:12 #19
Du kan bruge strip_tags, hvor du skriver de tiladte efter selve txt
striptags($indhold, "<b><i><u>"); //her er "<b><i><u> tilladt
Avatar billede tipsen Nybegynder
25. marts 2003 - 11:35 #20
avminarm: Hvordan får du så lige konverteret æ,ø,å osv?
Avatar billede avminarm Juniormester
25. marts 2003 - 11:58 #21
tipsen>> det var kun ment som et hint - ikke en en løsning på hele problemet - jeg synes bar selv at selve strip_tags funktionen tit kan være ret anvendelig, så jeg konverteret ikke æøå osv - det klarer "de andre" temlig fint ;o)
Avatar billede ion Nybegynder
25. marts 2003 - 13:01 #22
avminarm: Se mit eksempelovenfor.
tipsen: Den kunne bruges i sammenhængen, og så alligevel ikke. Den konverterer nemlig _alle_ entities tilbage til deres originale form, og så er man tilbage ved start :)
Avatar billede avminarm Juniormester
25. marts 2003 - 13:08 #23
ion>> havde ikke lige set det ;o)
Avatar billede tipsen Nybegynder
25. marts 2003 - 13:08 #24
ion: LOL - du har helt ret - helt forkert af undertegnede :-)
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