Versión phpBB: 3.0.12
MODs Instalados: Ninguno
Plantilla(s) usada(s): Omega
Servidor: Linux, de pago, Hospedando.com.mx
Actualización desde otra versión: No
Conversión desde otro sistema de foros: No
Hola, estoy intentando hacer un nuevo bbcode.
Este bbcode lo que hace es cambiar unas palabras a otros colores, lo que esta entre comillas a otro color y mostrarlo todo en un recuadro.
Para el proceso de edición use javascript y todo salia bien, pero cuando subo el código al foro (Editado para que funciones con {TEXT} y demás) no funciona correctamente.
Si coloco un numero dentro de las etiquetas el código no me sirve, lo mismo pasa si coloco paréntesis. El texto entre comillas no me lo cambia de color, pero las palabras si me las cambia.
Una captura: ( El primer mensaje no colorea el texto entre comillas, y el tercer mensaje solo debería tener 3 lineas de texto)
Archivo de edición:
Spoiler
<body bgcolor=gray><pre><div id="texto">public onGameModeInit(pr1, pr3)
{
#define Nicolas 17
#include samp
awgaw
new Varialbe[254];
new Variableq124 = 20;
new VariableC = "Hola Mundo";
for(new h=0; h<10; h++) //Este es un comentario
{
switch(Variable)
{
case 0:
case 1:
default:
if(h != 5)
{
SendClientMessage(playerid, -1. "Este es un ~mensaje para enviar 3 al #%!¡$ *?¿=jugador.;:\");
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
break;
Hola;
}
}
/*
Creado por Nicolas Castillo
*/
}
}
</div></pre>
<div style="margin:20px; margin-top:5px">
<div style="margin-bottom:2px; font-family:monospace;">Codigo Pawno:</div>
<script>
var string = document.getElementById("texto");
string = string.innerHTML.replace(/\bpublic\b/g, "<font color=blue>public</font>");
string = string.replace(/\B\"([\s\w#%!¡\$\*\?\¿\.\\\?\=\ç\^\`\´\[\º\ª\,\:\;\~]+)\"/g, "<font color=green>\"$1\"</font>"); // Para los Mensajes
string = string.replace(/\breturn\b/g, "<font color=blue>return</font>");
string = string.replace(/\bsizeof\b/g, "<font color=blue>sizeof</font>");
string = string.replace(/\bswitch\b/g, "<font color=blue>switch</font>");
string = string.replace(/\btrue\b/g, "<font color=blue>true</font>");
string = string.replace(/\bfalse\b/g, "<font color=blue>false</font>");
string = string.replace(/\bif\b/g, "<font color=blue>if</font>");
string = string.replace(/\bnew\b/g, "<font color=blue>new</font>");
string = string.replace(/\belse\b/g, "<font color=blue>else</font>");
string = string.replace(/\bfor\b/g, "<font color=blue>for</font>");
string = string.replace(/\bwhile\b/g, "<font color=blue>while</font>");
string = string.replace(/\bcase\b/g, "<font color=blue>case</font>");
string = string.replace(/\bdefault\b/g, "<font color=blue>default</font>");
string = string.replace(/\bgoto\b/g, "<font color=blue>goto</font>");
string = string.replace(/\bdo\b/g, "<font color=blue>do</font>");
string = string.replace(/\bcontinue\b/g, "<font color=blue>continue</font>");
string = string.replace(/\bbreak\b/g, "<font color=blue>break</font>");
string = string.replace(/\bfloat\b/g, "<font color=blue>float</font>");
string = string.replace(/\bbool\b/g, "<font color=blue>bool</font>");
string = string.replace(/\B\/\/([\t \w-]+)/g, "<font color=green>\/\/$1</font>"); // Para los comentarios
string = string.replace(/\B\/\*([\s\w-]+)/g, "<font color=green>\/\*$1"); // Para los otros comentarios (Abrir)
string = string.replace(/\*\//g, "\*\/</font>"); // Para los otros comentarios (Cierre)
string = string.replace(/(\d)/g, "<font color=blue>$1</font>"); // Para los Numeros
string = string.replace(/#([ \t\w]+)/g, "<font color=blue>#$1</font>"); // Para #include #else #define etc...
string = string.replace(/\t/g, " ");
document.write("<pre style=\"margin:0px; padding:6px; border: 1px solid #C2C2C2; width:800px; height:auto; overflow:auto; background-color:white;\"><font face=Courier New size=2><b>");
document.write(string);
document.write("</b></font></pre>");
texto.innerHTML = "";
</script>
</div>
</body>
{
#define Nicolas 17
#include samp
awgaw
new Varialbe[254];
new Variableq124 = 20;
new VariableC = "Hola Mundo";
for(new h=0; h<10; h++) //Este es un comentario
{
switch(Variable)
{
case 0:
case 1:
default:
if(h != 5)
{
SendClientMessage(playerid, -1. "Este es un ~mensaje para enviar 3 al #%!¡$ *?¿=jugador.;:\");
SetPlayerPos(playerid, 1958.3783, 1343.1572, 15.3746);
break;
Hola;
}
}
/*
Creado por Nicolas Castillo
*/
}
}
</div></pre>
<div style="margin:20px; margin-top:5px">
<div style="margin-bottom:2px; font-family:monospace;">Codigo Pawno:</div>
<script>
var string = document.getElementById("texto");
string = string.innerHTML.replace(/\bpublic\b/g, "<font color=blue>public</font>");
string = string.replace(/\B\"([\s\w#%!¡\$\*\?\¿\.\\\?\=\ç\^\`\´\[\º\ª\,\:\;\~]+)\"/g, "<font color=green>\"$1\"</font>"); // Para los Mensajes
string = string.replace(/\breturn\b/g, "<font color=blue>return</font>");
string = string.replace(/\bsizeof\b/g, "<font color=blue>sizeof</font>");
string = string.replace(/\bswitch\b/g, "<font color=blue>switch</font>");
string = string.replace(/\btrue\b/g, "<font color=blue>true</font>");
string = string.replace(/\bfalse\b/g, "<font color=blue>false</font>");
string = string.replace(/\bif\b/g, "<font color=blue>if</font>");
string = string.replace(/\bnew\b/g, "<font color=blue>new</font>");
string = string.replace(/\belse\b/g, "<font color=blue>else</font>");
string = string.replace(/\bfor\b/g, "<font color=blue>for</font>");
string = string.replace(/\bwhile\b/g, "<font color=blue>while</font>");
string = string.replace(/\bcase\b/g, "<font color=blue>case</font>");
string = string.replace(/\bdefault\b/g, "<font color=blue>default</font>");
string = string.replace(/\bgoto\b/g, "<font color=blue>goto</font>");
string = string.replace(/\bdo\b/g, "<font color=blue>do</font>");
string = string.replace(/\bcontinue\b/g, "<font color=blue>continue</font>");
string = string.replace(/\bbreak\b/g, "<font color=blue>break</font>");
string = string.replace(/\bfloat\b/g, "<font color=blue>float</font>");
string = string.replace(/\bbool\b/g, "<font color=blue>bool</font>");
string = string.replace(/\B\/\/([\t \w-]+)/g, "<font color=green>\/\/$1</font>"); // Para los comentarios
string = string.replace(/\B\/\*([\s\w-]+)/g, "<font color=green>\/\*$1"); // Para los otros comentarios (Abrir)
string = string.replace(/\*\//g, "\*\/</font>"); // Para los otros comentarios (Cierre)
string = string.replace(/(\d)/g, "<font color=blue>$1</font>"); // Para los Numeros
string = string.replace(/#([ \t\w]+)/g, "<font color=blue>#$1</font>"); // Para #include #else #define etc...
string = string.replace(/\t/g, " ");
document.write("<pre style=\"margin:0px; padding:6px; border: 1px solid #C2C2C2; width:800px; height:auto; overflow:auto; background-color:white;\"><font face=Courier New size=2><b>");
document.write(string);
document.write("</b></font></pre>");
texto.innerHTML = "";
</script>
</div>
</body>
Uso de BBCode
Código: Seleccionar todo
[pawn]{TEXT}[/pawn]
Código: Seleccionar todo
<div style="margin:20px; margin-top:5px">
<div style="margin-bottom:2px; font-family:monospace;">Codigo Pawno:</div>
<script>
var string = "{TEXT}";
string = string.replace(/\bpublic\b/g, "<font color=blue>public</font>");
string = string.replace(/\B\"([\s\w#%!¡\$\*\?\¿\.\\\?\=\ç\^\`\´\[\º\ª\,\:\;\~]+)\"/g, "<font color=green>\"$1\"</font>"); // Para los Mensajes
string = string.replace(/\breturn\b/g, "<font color=blue>return</font>");
string = string.replace(/\bsizeof\b/g, "<font color=blue>sizeof</font>");
string = string.replace(/\bswitch\b/g, "<font color=blue>switch</font>");
string = string.replace(/\btrue\b/g, "<font color=blue>true</font>");
string = string.replace(/\bfalse\b/g, "<font color=blue>false</font>");
string = string.replace(/\bif\b/g, "<font color=blue>if</font>");
string = string.replace(/\bnew\b/g, "<font color=blue>new</font>");
string = string.replace(/\belse\b/g, "<font color=blue>else</font>");
string = string.replace(/\bfor\b/g, "<font color=blue>for</font>");
string = string.replace(/\bwhile\b/g, "<font color=blue>while</font>");
string = string.replace(/\bcase\b/g, "<font color=blue>case</font>");
string = string.replace(/\bdefault\b/g, "<font color=blue>default</font>");
string = string.replace(/\bgoto\b/g, "<font color=blue>goto</font>");
string = string.replace(/\bdo\b/g, "<font color=blue>do</font>");
string = string.replace(/\bcontinue\b/g, "<font color=blue>continue</font>");
string = string.replace(/\bbreak\b/g, "<font color=blue>break</font>");
string = string.replace(/\bfloat\b/g, "<font color=blue>float</font>");
string = string.replace(/\bbool\b/g, "<font color=blue>bool</font>");
string = string.replace(/\B\/\/([ \t\w-]+)/g, "<font color=green>\/\/$1</font>"); // Para los comentarios
string = string.replace(/\B\/\*([\s\w-]+)/g, "<font color=green>\/\*$1"); // Para los otros comentarios (Abrir)
string = string.replace(/\B\*\//g, "\*\/</font>"); // Para los otros comentarios (Cierre)
string = string.replace(/(\d)/g, "<font color=blue>$1</font>"); // Para los Numeros
string = string.replace(/#([ \t\w]+)/g, "<font color=blue>#$1</font>"); // Para #include #else #define etc...
string = string.replace(/\t/g, " ");
document.write("<pre style=\"margin:0px; padding:6px; border: 1px solid #C2C2C2; width:800px; height:auto; overflow:auto; background-color:white;\"><font face=\"Courier New\" size=\"2\"><b>");
document.write(string);
document.write("</b></font></pre>");
</script>
</div>
Agradezco mucho su ayuda