Avatar billede bb_maze Nybegynder
31. august 2004 - 20:33 Der er 24 kommentarer og
1 løsning

Indtastningsmetode til tekst

Hejsa

Jeg har et nyhedssystem hvor jeg har brugt følgende metode til indtastning af en tekst:
$tekst = nl2br(htmlspecialchars($_POST['tekst'], ENT_QUOTES)); 

Mit problem er bare at jeg nu ønsker at det er muligt at bruge fx et <span> i teksten (ikke altid, men nogle gange), men det kan jeg ikke da den ændre det til text koder.

Men hvis jeg gør så den sætter det ind man skriver så går den i baglås når man bruger tegn som % ' "

Håber der er en eller anden der har en god idé ;) På forhånd tak!

Hygge
Avatar billede terrak Nybegynder
31. august 2004 - 20:46 #1
Du kunne kigge på http://dk.php.net/manual/da/function.strip-tags.php - den smider dog < og > helt væk; den konverterer det altså ikke til html kode.
Avatar billede bb_maze Nybegynder
31. august 2004 - 20:48 #2
Men det kan jeg jo så ikke bruge til noget? For så virker html'en ikke...

Hygge
Avatar billede dennismp Nybegynder
31. august 2004 - 20:51 #3
Du kan godt bruge strip_tags, fordi du kan fortælle den, hvilke tags den ikke skal fjerne.
Avatar billede bb_maze Nybegynder
31. august 2004 - 21:30 #4
Aah... Prøver jeg at kigge på.

Hygge
Avatar billede bb_maze Nybegynder
09. september 2004 - 23:37 #5
Hmm... Jeg må indrømme at jeg ikke kan gennemskue det her...

Hvis nu jeg bruger den her strip-tags så er det vel ikke muligt at lave ', " og æ,ø og å mere, da det så laver ged i det hele?

Hygge

P.S. Afsætter lige lidt flere point!
Avatar billede morteeart Nybegynder
09. september 2004 - 23:39 #6
gør det omvendt

brug htmlentries, og så sæt str_replace / preg_replace på til besteme tags.
Avatar billede dennismp Nybegynder
10. september 2004 - 07:37 #7
Jeg forstår ikke helt, hvorfor de tegn skulle lave ged i det?

strip-tags fjerne <(etnavn)> og </etnavn>, hvor etnavn er html-tags (fx font). Hvis du så siger til den at den ikke skal fjerne <img> - så vil den ikke røre den. Den ændre ikke på &aelig;, æ, ø, å.. osv..
Avatar billede bb_maze Nybegynder
10. september 2004 - 09:05 #8
Dennismp: Skal jeg _kun_ bruge strip_tags? For hvis jeg skal det så kan jeg jo lige så godt lade være med at bruge den, da det ikke gør mig noget om man kan sætte <b> ind.

Morteeart: Kan du forklare lidt nærmere? Evt. et eksempel?

Hygge
Avatar billede dennismp Nybegynder
10. september 2004 - 12:21 #9
Hvis man gerne må bruge html, kan du ikke bare så lade være med at bruge htmlentities ?
Avatar billede bb_maze Nybegynder
10. september 2004 - 14:25 #10
Hvis jeg lader være med at bruge htmlentities giver det så ikke problemer når man skriver ' " & osv osv?

Hygge
Avatar billede dennismp Nybegynder
10. september 2004 - 16:26 #11
Hvis du tænker på, når de skal sættes i databasen - så skal du bruge addslashes() istedet. Den sørger for at escape ' og " så du ikke får en sql-fejl.
Avatar billede bb_maze Nybegynder
10. september 2004 - 20:44 #12
Men hvis jeg bruger addslashes() så kommer de jo også med når jeg trækker teksten ud fra databasen igen...

Hygge
Avatar billede dennismp Nybegynder
10. september 2004 - 23:13 #13
Joow, men så bruger du jo stripslashes() :-).

altså: addslashes() når du sætter ind/opdaterer databasen . Og stripslashes for at fjerne det igen, så du ikke får det i dit output.
Avatar billede bb_maze Nybegynder
23. september 2004 - 15:22 #14
Hvordan gør jeg så lige når jeg trækker værdierne ud på denne måde?
<?echo "$row[tekst]";?>

Altså hvordan tilføjer jeg stripslashes...

Hygge
Avatar billede dennismp Nybegynder
23. september 2004 - 18:00 #15
<?echo stripslashes($row[tekst]);?>
Avatar billede bb_maze Nybegynder
24. september 2004 - 17:57 #16
Nu har jeg tilføjet det, og man kan indsætte alle de sjove tegn, og udføre html kommandoer, men man kan ikke lave lave linie skift ved hjælp af 'enter', hvordan løses det? :/

Hygge
Avatar billede dennismp Nybegynder
24. september 2004 - 20:13 #17
<?php echo nl2br(htmlspecialchars((stripslashes($row['tekst']))); ?>
Avatar billede bb_maze Nybegynder
24. september 2004 - 20:16 #18
Får følgende fejl:
Parse error: parse error, unexpected ';'

Hygge
Avatar billede dennismp Nybegynder
24. september 2004 - 20:26 #19
<?php echo nl2br(htmlspecialchars(stripslashes($row['tekst']))); ?>
Avatar billede bb_maze Nybegynder
24. september 2004 - 20:49 #20
Nu fjerner den ikke / og linie skift virker stadig ikke...

Hygge
Avatar billede dennismp Nybegynder
24. september 2004 - 21:00 #21
erstat htmlspecialchars med strip_tags
Avatar billede bb_maze Nybegynder
26. september 2004 - 18:56 #22
Tæt på :D Nu virker mit <span> bare ikke mere, og det gælder også <b>

Hygge
Avatar billede dennismp Nybegynder
26. september 2004 - 19:34 #23
<?php echo nl2br(strip_tags(stripslashes($row['tekst']),'<span><b>')); ?>
Avatar billede bb_maze Nybegynder
26. september 2004 - 20:26 #24
Super!! :D Det virker, weehuh :D Takker ;) Smid et svar, så får du en gang point.

Hygge
Avatar billede dennismp Nybegynder
26. september 2004 - 20:47 #25
svar :)
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