Avatar billede wuppie Nybegynder
27. november 2005 - 02:27 Der er 7 kommentarer og
1 løsning

Fejl i preg_replace

<?php
function dobbcode($string) {
$string = preg_replace("#[img]((ht|f)tp://)([^ <"]*?)[/img]#sie", "'<img src=\1' . str_replace(' ', '%20', '\3') . '>'", $string);
$string = preg_replace("#[url]((ht|f)tp://)([^ <"]*?)[/url]#sie", "'<a href="\1' . str_replace(' ', '%20', '\3') . '" target=blank>\1\3</a>'", $string);
$string = preg_replace("/(.+?)/s", "<a href=$1 target=blank>$2</a>", $string);
$string = preg_replace("/(.+?)/s", "<b>$1</b>", $string);
$string = preg_replace("/(.+?)/s", "<i>$1</i>", $string);
$string = preg_replace("/(.+?)/s", "<u>$1</u>", $string);
$string = preg_replace("/[code](.+?)[/code]/g", "<table width="100%" border="1" bordercolor="black" bgcolor="#f7f7f7" style="BORDER-COLLAPSE: collapse"><tr><td align="left"><code><br>$1<br></code></td></tr></table>", $string);
$string = preg_replace("/[quote](.+?)[/quote]/g", "<table width="100%"><tr><th align="left"><font face="tahoma">Gengivelse:</font></th></tr><tr><td align="left">$1</td></tr></table>", $string);
$string = preg_replace("/[quote=(.+?)](.+?)[/quote]/g", "<table width="100%"><tr><th align=left>$1 :</th></tr><tr><td align="left">$2</td></tr></table>", $string);
$string = preg_replace("/[color=(.+?)](.+?)[/color]/s", "<font color="$1">$2</font>", $string);
$string = preg_replace("#[IMG]((ht|f)tp://)([^ <"]*?)[/IMG]#sie", "'<img src=\1' . str_replace(' ', '%20', '\3') . '>'", $string);
$string = preg_replace("#[URL]((ht|f)tp://)([^ <"]*?)[/URL]#sie", "'<a href="\1' . str_replace(' ', '%20', '\3') . '" target=blank>\1\3</a>'", $string);
$string = preg_replace("/[URL=(.+?)](.+?)[/URL]/s", "<a href=$1 target=blank>$2</a>", $string);
$string = preg_replace("/[B](.+?)[/B]/s", "<b>$1</b>", $string);
$string = preg_replace("/[I](.+?)[/I]/s", "<i>$1</i>", $string);
$string = preg_replace("/[U](.+?)[/U]/s", "<u>$1</u>", $string);
$string = preg_replace("/[CODE](.+?)[/CODE]/g", "<table width="100%" border="1" bordercolor="black" bgcolor="#f7f7f7" style="BORDER-COLLAPSE: collapse"><tr><td align="left"><code><br>$1<br></code></td></tr></table>", $string);
$string = preg_replace("/[QUOTE](.+?)[/QUOTE]/g", "<table width="100%"><tr><th align="left"><font face="tahoma">Gengivelse:</font></th></tr><tr><td align="left">$1</td></tr></table>", $string);
$string = preg_replace("/[QOUTE=(.+?)](.+?)[/QOUTE]/g", "<table width="100%"><tr><th align=left>$1:</th></tr><tr><td align="left">$2</td></tr></table>", $string);
$string = preg_replace("/[COLOR=(.+?)](.+?)[/COLOR]/s", "<font color="$1">$2</font>", $string);
return $string;
}
?>

Hvorfor bliver teksten blank, når jeg kører en post igennem den?
Avatar billede erikjacobsen Ekspert
27. november 2005 - 09:59 #1
Der er mange fejl.

Du skal escape og [ og ] med et \ , når du vil have dem som tegn, for det er magiske tegn i regulære udtryk.

Du skal escape et " i en streng med "...." omkring. Også med \
Avatar billede wuppie Nybegynder
28. november 2005 - 14:01 #2
Sorry men forstår ikke hvad du mener, kan du ikke rette det for mig :)?
Avatar billede erikjacobsen Ekspert
28. november 2005 - 14:48 #3
at "escape med \" betyder bare at sætte en \ foran tegnet.
Avatar billede mysitesolution Nybegynder
28. november 2005 - 18:51 #4
og svar lige på dine andre tråde...
Avatar billede wuppie Nybegynder
01. december 2005 - 11:14 #5
Har selv fundet svaret, men tak for hjælpen allesammen alligevel - i kan evt. ligge et svar så får i point :)
Avatar billede erikjacobsen Ekspert
01. december 2005 - 11:16 #6
Jeg samler slet ikke på point, tak.
Avatar billede wuppie Nybegynder
02. december 2005 - 13:27 #7
Fint nok så tager jeg dem selv hvis i ikke har noget imod det:)..
Avatar billede wuppie Nybegynder
02. december 2005 - 13:27 #8
.
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