Avatar billede wuppie Nybegynder
14. november 2005 - 15:49 Der er 9 kommentarer

Fejl i min [code][/code]

Hejsa
Jeg har en function der gør at alt hvad der står fx rundt om står med fed osv. Men jeg har også en funktion der hedder [code][/code] hvor den laver en tabel hvor koden så kommer ind i, men når der man poster det med sin kode inden i, og det er linjebrud, så virker det ikke.. Her er min function:

function dobbcode($string) {
    $string = nl2br("$string");
    $string = ereg_replace("<","&lt;",$string);
    $string = ereg_replace(">","&gt;",$string);
    $string = preg_replace("#\[img\]((ht|f)tp://)([^\r\n\t<\"]*?)\[/img\]#sie", "'<img src=\\1' . str_replace(' ', '%20', '\\3') . '>'", $string);
    $string = preg_replace("#\[url\]((ht|f)tp://)([^\r\n\t<\"]*?)\[/url\]#sie", "'<a href=\"\\1' . str_replace(' ', '%20', '\\3') . '\" target=blank>\\1\\3</a>'", $string);
    $string = preg_replace("/\[url=(.+?)\](.+?)\[\/url\]/", "<a href=$1 target=blank>$2</a>", $string);
    $string = preg_replace("/\[b\](.+?)\[\/b\]/", "<b>$1</b>", $string);
    $string = preg_replace("/\[i\](.+?)\[\/i\]/", "<i>$1</i>", $string);
    $string = preg_replace("/\[u\](.+?)\[\/u\]/", "<u>$1</u>", $string);
    $string = preg_replace("/\[code\](.+?)\[\/code\]/", "<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\]/", "<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\]/", "<table width=\"100%\"><tr><th align=left>$1 :</th></tr><tr><td align=\"left\">$2</td></tr></table>", $string);
    $string = preg_replace("/\[color=(.+?)\](.+?)\[\/color\]/", "<font color=\"$1\">$2</font>", $string);
    return $string;
}
Avatar billede nielle Nybegynder
14. november 2005 - 15:52 #1
Prøv med:

$string = preg_replace("/\[color=(.+?)\](.+?)\[\/color\]/sg", "<font color=\"$1\">$2</font>", $string);
Avatar billede wuppie Nybegynder
14. november 2005 - 15:57 #2
Altså det er ikke [color] fejlen er i, men i [code] ;)...
Avatar billede coderdk Praktikant
14. november 2005 - 18:24 #3
$string = preg_replace("/\[code\](.+?)\[\/code\]/s", "<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);


/s modifieren gør at . også kan være newlines ;)
Avatar billede nielle Nybegynder
14. november 2005 - 18:30 #4
Undskylder, men løsningen er stadig at sætte ".../sg" på dit møster. 's' betyder at teksten behandles som om den var en "single line", og 'g' betyder at søgningen er "global". Det kan godt tænkes at en af dem kan undværes. :^)
Avatar billede wuppie Nybegynder
21. november 2005 - 21:50 #5
Nu viser den overhovedet ingenting.. posten bliver bare blank
Avatar billede nielle Nybegynder
22. november 2005 - 20:34 #6
Hvad mener du med "posten"? Er det al teksten som bliver blanket, eller er det kun noget af den?
Avatar billede wuppie Nybegynder
27. november 2005 - 01:08 #7
kun $string;
Avatar billede nielle Nybegynder
27. november 2005 - 07:22 #8
Den forstod jeg desvæerre ikke lige. Kan du ikke give nogle eksempler på noget input, hvad du forventer at få som output, og hvad du så rent faktisk får ud?
Avatar billede nielle Nybegynder
20. december 2005 - 19:10 #9
Hvad med noget respons?
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