Avatar billede lzzz Nybegynder
16. januar 2006 - 12:23 Der er 7 kommentarer og
2 løsninger

bbcode + html/php tags problem

Hej
Får ingen hjælp alle andre steder jeg spørg... så prøver her :)
jeg prøver at lave et "tutorial script"
jeg er nybegynder til php så har ikke styr på alt hvad der er i scriptet... en del af det er bare sat ind fordi jeg ved det skal være der (uden helt at vide hvad det gør)... den anden del har jeg dog styr på ;)

Anyway
Her er min Addtutorial.php
http://danishdevils.dk/Veng/addtutorial.htm

og min tutorial.php
http://danishdevils.dk/Veng/tutorial.htm

Jeg har også en tutorials.php der viser alle de tutorials der er... men er ret sikker på der ikke er et problem der ;)

som i can se i addtutorial bruger jeg "$tutorial = nl2br(strip_tags($_POST['tutorial'],"<b><a><i><u><font color>"));" der gør at den automatisk skifter linie når jeg trykker enter

problemet er bare at bbcode "blokere" det
hvis jeg fx skriver "det her *enter* er en tutorial"
Uden bbcode viser den det sådan her:
"det her
er en tutorial"
Med bbcode viser den sådan her:
"det her < br / > er en tutorial"

jeg ved ikke lige helt hvor det går galt så kunne godt bruge noget hjælp :)
Avatar billede cpfrande Nybegynder
17. januar 2006 - 08:50 #1
Halløjsa,

Det er sikkert fordi du laver en nl2br() før du bruger selve bbcode - korrekt?

Hvis det er tilfældet, så lav nl2br() efter du har brugt bbcode.

bbcode omskriver < og > til værdierne &lt; og &gt; hvorfor dit egentligt <br /> som nl2br() laver omskrives til &lt;br /&gt;

Prøv det - det skulle gerne løse problemet. :-)
Avatar billede lzzz Nybegynder
17. januar 2006 - 15:33 #2
hvordan ville jeg gøre det?
Jeg bruger nl2br() i den fil der "opretter" guiden... og bbcoden i den fil der viser guiden... ???
Avatar billede cpfrande Nybegynder
17. januar 2006 - 17:05 #3
Så er det jo også præcis derfor, at fejlen opstår.

Du kan fikse det ved enten først at lave din linie-skift, når du udskriver guiden.

... eller du kan fikse det ved at bruge bbcoden, når du opretter guiden.

I begge tilfælde, skal du bruge bbcoden først og derefter nl2br().

Jeg anbefaler sidst-nævnte løsning.

--
Kristian
Avatar billede lzzz Nybegynder
17. januar 2006 - 17:31 #4
lyder indviklet ;) er vist lidt for meget nybegynder til at kunne ordne det her selv om jeg får hjælp ;)
Avatar billede cpfrande Nybegynder
17. januar 2006 - 17:36 #5
Det er simpelt ellers.
Det er blot at du flytter dine aktiviteter et sted fra til et andet.

Du har $tutorial = bbcode_format($row["tutorial"]) i din vis tutorial-fil.

Du skal sådan se blot lave en bbcode_format() i din opret tutorial-fil i stedet:
$tutorial = nl2br(bbcode_format(strip_tags($_POST['tutorial'],"<b><a><i><u><font color>")));

Husk at flytte funktionen bbcode_format med over i den anden fil.
Avatar billede lzzz Nybegynder
17. januar 2006 - 17:52 #6
men hvis jeg gør det sådan, forstår den så bbkoderne i vis-tutorial-filen ?
Avatar billede cpfrande Nybegynder
17. januar 2006 - 17:56 #7
Ja, det gør den. Den har jo lavet dem og gemmer dem i databasen, hvorfra du henter dem.
Avatar billede lzzz Nybegynder
17. januar 2006 - 17:58 #8
aaaahhh så virker det :D
du sku bare vide hvor mange dage jeg har kæmpet med det her...! og så er det så simpelt ;)

MANGE tak :D
Avatar billede cpfrande Nybegynder
17. januar 2006 - 18:41 #9
Hehe, det var så lidt! :-)

God fornøjelse! (... og tak for points)
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