¿Como creo bbcode? Leido 13.081 veces

 
  Broco
Pregunta
Resuelta.
Necesito crear bbcode,desde los botones
asta los reemplaces y a la hora de mostrar..

 

 





  !!r0Nk0!!
Respuesta correcta
 

 


  [NiCo]
Respuesta correcta
Ha recibido:
1 premios
Te muestro un ejemplo del foro que hice.
Primero en el head pones este javascript:




<script language="javascript" type="text/javascript">
function addText(Text,txt)
{
var obj = document.form.txt;

obj.focus();

if (document.selection && document.selection.createRange) // Internet Explorer
{
sel = document.selection.createRange();
if (sel.parentElement() == obj) sel.text = Text;
}

else if (typeof(obj) != "undefined") // Firefox
{
var longueur = parseInt(obj.value.length);
var selStart = obj.selectionStart;
var selEnd = obj.selectionEnd;

obj.value = obj.value.substring(0,selStart) + Text + obj.value.substring(selEnd,longueur);
}

else obj.value += Text;

obj.focus();
}

function addTags(Tag,fTag,txt)
{
var obj = document.form.txt;

obj.focus();

if (document.selection && document.selection.createRange) // Internet Explorer
{
sel = document.selection.createRange();
if (sel.parentElement() == obj) sel.text = Tag + sel.text + fTag;
}

else if (typeof(obj) != "undefined") // Firefox
{
var longueur = parseInt(obj.value.length);
var selStart = obj.selectionStart;
var selEnd = obj.selectionEnd;

obj.value = obj.value.substring(0,selStart) + Tag + obj.value.substring(selStart,selEnd) + fTag + obj.value.substring(selEnd,longueur);
}

else obj.value += Tag + fTag;

obj.focus();
}
</script>



Segundo el formulario con los botones para agregar el bbcode:




<form name='form' action='enviar.php' method='post'>
Título:<br />
<input type='text' name='titulo' id='titulo'><br>
<br>
Mensaje:  
<a onmousedown="addTags('','')" style="background-color:#F7F7F7; font-size:10pt; border: outset white 1px;color:#000"> <b>B</b> </a>
<a onmousedown="addTags('','')" style="background-color:#F7F7F7; font-size:10pt; border: outset white 1px;color:#000"> <b>I</b> </a>
<a onmousedown="addTags('[imagen]','[/imagen]')" style="background-color:#F7F7F7; font-size:10pt; border: outset white 1px;color:#000"> <b>IMAGEN</b> </a>
<a onmousedown="addTags('[mover]','[/mover]')" style="background-color:#F7F7F7; font-size:10pt; border: outset white 1px;color:#000"> <b>MOVER</b> </a>
<br>
<textarea wrap="VIRTUAL" name='txt' id='txt' cols='50' rows='10'></textarea>
<br>
<input type='submit' value='Agregar'></center>
</form>



Tercero te muestro el codigo para mostrar el mensaje y que reconozca los bbcodes:




$bbcode = array();
$xhtml = array();
$mensaje = nl2br(htmlspecialchars($row['txt']));
$bbcode[] = ""; $xhtml[] = "<em>";
$bbcode[] = "
"; $xhtml[] = "</em>";
$bbcode[] = ""; $xhtml[] = "<strong>";
$bbcode[] = "
"; $xhtml[] = "</strong>";
$bbcode[] = "[imagen]"; $xhtml[] = "<img src='";
$bbcode[] = "[/imagen]"; $xhtml[] = "' />";
$bbcode[] = "[mover]"; $xhtml[] = "<marquee>";
$bbcode[] = "[/mover]"; $xhtml[] = "</marquee>";
echo str_replace($bbcode,$xhtml,$mensaje);



Si no entendes algo pregunta que estoy desocupado ahora ;)

Salu2

 

 


  Broco
los enlaces ¿como?
 

 


  [NiCo]
Eso es lo unico que no me ha salido del todo bien Debajo de la declaracion de bbcodes agrega 3 mas:




$bbcode[] = "[*url='"; $xhtml[] = "<a href='";
$bbcode[] = "']"; $xhtml[] = "'>";
$bbcode[] = "[*/url]"; $xhtml[] = "</a>";



Para poner un link sera asi: [*url='AQUI VA LA URL ENTRE COMILLAS SIMPLES']TEXTO[*/url]
Acordate de sacar los ateriscos ^^

Salu2

 

 





  !!r0Nk0!!
Respuesta correcta
 

 


  Broco
No entiendo ese bbcode osea no entiendo como se hace
"/\[i\](.*?)\[\/i\]/is",
Demasiados caracteres ;S no se.. xD

 

 


  !!r0Nk0!!
Pues es lo más simple, eso es para cursiva, que quieres negrita cambias la "i" por "b"

"/\[b\](.*?)\[\/b\]/is",

Claro que luego tienes que poner el correspondiente html abajo.

Es una función lo más simple que he encontrado con los más usados. Dime que quieres agregar más y te lo agrego para que veas.

PD: Acabo de ver que querías los botones también, esto es solo el reemplace que dices.

 

 


  !!r0Nk0!!
 

 


  Broco
para usar "/\[b\](.*?)\[\/b\]/is",
¿necesito descargarme eso?

 

 





  !!r0Nk0!!
Visita el enlace, es un bbcode completo. No tiene nada que ver con lo que puse antes.
 

 


  Broco
ahhh. como as puesto "Por si no ves donde se descarga: "
me creía que era del post anterior no de el enlace xD
De todas formas lo quiero casero xD

 

 


  Broco
ronkoo. el 1º enlace que me as pasado.. no consigo hacerlo funciona ponme un ejemplo.. con la consulta incluida..

 

 





    ¿Cuantas columnas?     | 2 columnas | 3 columnas | 4 columnas | 5 columnas | 6 columnas |  
    Escribe la dirección web de la imagen:
  Publica tu respuesta  |  Haz Click en el siguiente cuadro para escribir