Gå til innhold

kan kun ha en av hver bbkode i en tekst


Anbefalte innlegg

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 av AlecTBM
Lenke til kommentar
Videoannonse
Annonse

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 konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
×
×
  • Opprett ny...