Recordad que para pedir soporte alguno, debéis facilitar los datos de soporte oportunos por favor, mirad aquí y leer las Normas generales del foro, esto nos servirá de ayuda para dar el mejor soporte..

Gracias.

La Administración de phpBB España.

Problemas con un nuevo bbcode

Dudas sobre BBCodes personalizados


TheMasterNico
Observador/a
Mensajes: 6
Registrado: 28 Ene 2014, 22:55

Problemas con un nuevo bbcode

#1

Mensaje 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 1376 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




Enlace:
BBCode:
HTML:

Ocultar enlaces al mensaje
Mostrar enlaces al mensaje

Volver a “❓ Dudas sobre BBCode”