Avatar billede michaeltryl Seniormester
05. oktober 2006 - 17:47 Der er 9 kommentarer og
1 løsning

hvordan gør jeg dette

jeg har et text felt i min databse hvor jeg indsætter tekst brugerene skriver i et forum
men hvordan gør jeg sådan at linie skfif bliver vist

som f.eks herover uden at brugeren skal skrive <br> i feltet og hvordan gør jeg sådan at f.eks < bliver lavet om til &lt;
sådan at tags ikke bliver betragtet som kode når det igen hentes ud og vises på siden
Avatar billede fangel Nybegynder
05. oktober 2006 - 17:49 #1
Jaaaah, det evige spm. der kun er besvaret 10.000 gange før på Eksperten

Mht. linje-skift -> <br>, så er svaret nl2br() (http://php.net/nl2br)
Mht. < -> &lt; o.l., så er svaret htmlentities() (http://php.net/htmlentities)

-fangel
Avatar billede jokkejensen Novice
05. oktober 2006 - 17:50 #2
hey, før du submitter skal du lige erstatte newlines med <br>

tekst = replace(tekst,chr(13),"<br>")
Avatar billede jokkejensen Novice
05. oktober 2006 - 17:50 #3
sorry for papegøje effekt - og for at vise et asp eksempel :)
Avatar billede michaeltryl Seniormester
05. oktober 2006 - 18:19 #4
jeg har nu prøvet dette
jeg henter teksten ud af databasen
i en variabel ntekst og køre htmlentities på den hvilket virker fint, men når jeg så sætter n12br på bliver der ikke udskrevet noget.
har i forslag til hvad jeg gør forkert

$ntekst = htmlentities($a[ntekst]);

echo nl2br("$ntekst");
Avatar billede fangel Nybegynder
05. oktober 2006 - 19:21 #5
jokkejensen: Det er unødigt, og langsommere end nl2br()

michaeltryl:

$ntekst = htmlentiies( $a['ntekst'] );
echo nl2br($ntekst);

_Vil_ udskrive noget, såfremt $a['ntekst'] indeholder noget..

Og du bør læse op på hvornår det er nødvendigt at sætte "- og '-tegn... I dit kode har ud gjort det ca. omvendt af hvad man bør.. ;)

-fangel
Avatar billede michaeltryl Seniormester
05. oktober 2006 - 19:32 #6
jeg har fået det til at virke.
med hensyn til "" og '' så har jeg bare brugt det samme som på de sider du henviste til.
men er der et sted jeg kan læse mere om nrugen af dette da jeg aldrig har læst noget om hvornår jeg skal bruge " eller ' :)
Avatar billede michaeltryl Seniormester
05. oktober 2006 - 19:33 #7
forresten tak for hjælpen
Avatar billede fangel Nybegynder
05. oktober 2006 - 19:57 #8
Okay - lige de tre hurtiger regler:

$var = $foo; // ingen citations-tegn, du har kun variabler, så ingen grund til at omkrense dem
$var = FOO; // du referer til konstanten FOO
$var = 'foo'; // du har _kun_ tekst, så indholdet af teksten skal tages 100% som den står
$var = "foo: $foo"; // du har et mix af variabler og tekst

Men man kan så slf. også mixe det lidt, ala
$var = 'foo: ' . $foo; // to strenge sættes sammen med et "." (punktum)

Og hvis du referer til indexes i et array, så skal der være enten " eller ' rundt om, men da du oftest vil referer til det med en "kun tekst"-streng, er ' det mest korrekte at bruge.
Dvs
$foo = $array['foo'];

Og _ikke_ $foo = $array[foo]; da det vil kaste en E_NOTICE fejl m. unknown constant foo, assuming "foo", da den leder efter konstanten "foo" som den ikke kan finde, og derfor bruger tekst-strengen "foo" istedet.

-fangel
Avatar billede michaeltryl Seniormester
05. oktober 2006 - 20:00 #9
okay mange tak for det
Avatar billede michaeltryl Seniormester
05. oktober 2006 - 20:02 #10
det jeg gjorde fejl var at jeg brugte de to funktioner når jeg hev det ud af databsen jeg har nu byttet rundt og bruger dem inden de bliver lagt ind
først
htmlentities og derefter køre jeg det der kommer ud af det igennem
nl2br hvorefter jeg putter det i databasen
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