Avatar billede wosgam Nybegynder
05. maj 2008 - 16:50 Der er 7 kommentarer og
1 løsning

Php BBCodes hjælp

hej alle sammen jeg har lavet denne kode efter at have læst om reg.exp. på phpartikler.dk:

$redigeret = preg_replace("/\[url=(.+)\](.+)\[\/url\]/",'<a target="_blank" href="\\1">\\2</a>',$_POST['besked']);
$redigeret = preg_replace("/\[img\](.+)\[\/img\]/",'<img src="\\1">',$_POST['besked']);
$redigeret = preg_replace("/\[color=(.+)\](.+)\[\/color\]/",'<font color="//1">//2</font>',$_POST['besked']);
$redigeret = preg_replace("/\[b\](.+)\[\/b\]/",'<b>//1</b>',$_POST['besked']);

det gider bare ikke at virke

er der nogle der kan hjælpe?
Avatar billede jakobdo Ekspert
05. maj 2008 - 20:50 #1
Når du kalder funktionen preg_replace() første gang, så kalder du den med $_POST['besked'] og gemmer det i $redigeret.
Så kalder du funktionen preg_replace() anden gang, du kalder den igen med $_POST['besked'] og gemmer i $redigeret, det betyder det som evt. blev ændret første gang, bliver nu overskrevet.
Så det som vil blive vist til sidst, er dit sidste kald her: $redigeret = preg_replace("/\[b\](.+)\[\/b\]/",'<b>//1</b>',$_POST['besked']);
Avatar billede wosgam Nybegynder
06. maj 2008 - 08:04 #2
ok men hvordan gør jeg så???
Avatar billede jakobdo Ekspert
06. maj 2008 - 08:19 #3
Noget i denne stil:

$redigeret = preg_replace("/\[url=(.+)\](.+)\[\/url\]/",'<a target="_blank" href="\\1">\\2</a>',$_POST['besked']);
$redigeret = preg_replace("/\[img\](.+)\[\/img\]/",'<img src="\\1">',$redigeret);
$redigeret = preg_replace("/\[color=(.+)\](.+)\[\/color\]/",'<font color="//1">//2</font>',$redigeret);
$redigeret = preg_replace("/\[b\](.+)\[\/b\]/",'<b>//1</b>',$redigeret);
Avatar billede nielle Nybegynder
06. maj 2008 - 08:24 #4
I øvrigt bør du ændre alle dine:

.+

til:

.+?

eller alternativt:

[^][]+

da der ellers vil ske noget uhensigtsmæssige ved sådan noget som:

Eksperten.dk er bare for vild!
Avatar billede wosgam Nybegynder
07. maj 2008 - 16:04 #5
Tak Jakobdo og Nielle i får points smider i lige nogle svar
Avatar billede nielle Nybegynder
07. maj 2008 - 17:55 #6
Står over på denne her. Men ellers tak for tilbudet. :^)
Avatar billede jakobdo Ekspert
07. maj 2008 - 18:31 #7
Svar!
Avatar billede jakobdo Ekspert
07. maj 2008 - 21:14 #8
Takker for point.
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