Página 1 de 1

Problemas con un nuevo bbcode

Publicado: 29 Ene 2014, 01:46
por TheMasterNico
URL: http://pawnoscript.com/foro/
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: (
Captura de imagen
Captura de imagen
Captura.png (127.6 KiB) Visto 1525 veces
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>
Así lo subo al bbcode:

Uso de BBCode

Código: Seleccionar todo

[pawn]{TEXT}[/pawn]
Reemplazo HTML

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>
¿que podría estar mal?

Agradezco mucho su ayuda