AlecTBM Skrevet 17. september 2006 Del Skrevet 17. september 2006 (endret) Jeg har kommet bortig et sånt irriterende problem som lyder slik: Jeg har fått bbkodene til å funke. alt funker, men så fort man legger inn to [ b ][ /b ] så klikker en første [ /b ] og den siste [ b ] slik at alt mellom de to kodene bli uthevet. Noen som har hatt dette problemet før og vet svaret på det? koden: function bbcode($string) { $string = str_replace("\n", '<br>', $string); $string = str_replace('#rød', '#FF0000', $string); $string = str_replace('#grønn', '#00FF00', $string); $string = str_replace('#blå', '#0000FF', $string); $string = str_replace('#gul', '#FFFF00', $string); $string = str_replace('#indigo', '#00FFFF', $string); $string = str_replace('#lilla', '#FF00FF', $string); $search = array( '/\[b\](.*?)\[\/b\]/sU', '/\[i\](.*?)\[\/i\]/sU', '/\[u\](.*?)\[\/u\]/sU', //bilde '/\[img](.*?)\[\/img\]/sU',//uten noe '/\[img tittel\=(.*?) høyde\=(.*?)\](.*?)\[\/img\]/sU', //med titel og høyde '/\[img tittel\=(.*?)\](.*?)\[\/img\]/sU', //med titel '/\[img høyde\=(.*?)\](.*?)\[\/img\]/sU', //med høyde //link '/\[link url\=(.*?)\](.*?)\[\/link\]/sU', //plasering '/\[midten\](.*?)\[\/midten\]/sU', //farge og størrelse '/\[farge\=(.*?)\](.*?)\[\/farge\]/sU', //overskrifter '/\[h1\](.*?)\[\/h1\]/sU', '/\[h2\](.*?)\[\/h2\]/sU', '/\[h3\](.*?)\[\/h3\]/sU' ); $replace = array( '<b>$1</b>', '<i>$1</i>', '<u>$1</u>', //bilde '<img src="$1" alt="bilde hentet fra $1" height="200">', '<img src="$3" alt="$1" height="$2">', '<img src="$2" alt="$1" height="200">', '<img src="$2" alt="bilde hentet fra $2" height="$1">', //link '<a href="$1">$2</a>', //plasering '<center>$1</center>', //farge og størrelse '<span style="color: $1;">$2</span>', //overskrifter '<h3>$1</h3>', '<h4>$1</h4>', '<h5>$1</h5>' ); return preg_replace($search, $replace, $string); } $tekst = $_POST['bbkode']; Takker for alle positive svar EDIT: Ingen som kan dette? Endret 17. september 2006 av AlecTBM Lenke til kommentar
spitz Skrevet 17. september 2006 Del Skrevet 17. september 2006 (endret) Det er mulig jeg er fryktelig korttenkt nå, har ikke progget PHP aktivt på halvannet år, men hvorfor kjører du ikke bare en str_replace på [.b.] og [./b.] også? Det ville jo løst problemet. Endret 17. september 2006 av spitz Lenke til kommentar
AlecTBM Skrevet 17. september 2006 Forfatter Del Skrevet 17. september 2006 jeg fant ut av det og str_replace vil ikke funke siden da kan man hvis man vill la være å slutte den, og da blir resten av teksten uthevet. Men fikkd et til nå så moderator steng tråden. Måtte bare bytte ut U med i Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå