5
« en: 09 de Noviembre de 2011, 15:44:50 pm »
Estoy haciendo un pequeño sistema de bbcodes y no se me ocurre niguna forma para hacer el bbcode [*code][*/code] ya que sí, se me hace la función para dejarlo con el estilo CSS pero si dentro del bbcode hay otro bbcode (por ejemplo el de negrita) sigue transformándose y haciendo el texto negrita en vez de dejarlo de esta manera:
Así [b]es como[/b] me gustaría mi [i]bbcode[/i]
¿Cómo puedo solucionar esta duda?
P.D: Los bbcodes los hago con "preg_replace()" de la siguiente forma:
$a = array(
"/\[i\](.*?)\[\/i\]/is",
"/\[b\](.*?)\[\/b\]/is",
"/\[u\](.*?)\[\/u\]/is",
"/\[img\](.*?)\[\/img\]/is",
"/\[url=(.*?)\](.*?)\[\/url\]/is",
"/\[quote\](.*?)\[\/quote\]/is",
"/\[quote=(.*?)\](.*?)\[\/quote\]/is",
"/\[right\](.*?)\[\/right\]/is",
"/\[center\](.*?)\[\/center\]/is",
"/\[small\](.*?)\[\/small\]/is",
"/\[color=(.*?)\](.*?)\[\/color\]/is",
"/\[code\](.*?)\[\/code\]/is",
);
$b = array(
"<i>$1</i>",
"<b>$1</b>",
"<u>$1</u>",
"<a href='$1' id='lightbox'><img style='max-height:350px; max-weight:350px;' src='$1'></a>",
"<a href='$1'>$2</a>",
"<blockquote>$1</blockquote>",
"<blockquote><strong style='font-size:10px;'>$1 escribió:</strong><br>$2</blockquote>",
"<div align='right'>$1</span>",
"<div align='center'>$1</span>",
"<small>$1</small>",
"<span style='color:$1;'>$2</span>",
"<code>$1</code>",
);
$texto=preg_replace($a, $b, $texto);
Un saludo, Guille.