Dudas sobre programación

Started by kesulin, July 19, 2019, 07:52:42 AM

Previous topic - Next topic

kesulin

No soy muy experimentado en php ni SMF, más bien un novato aprendiendo el lenguaje por la fuerza debido al foro. Estoy intentando en Subs-Post crear un tag que llame a una función, pero no consigo pasarle dos parametros a la función y no sé como puede hacerse.

Sería algo así:
[mazo id=nombremazo]carta1;carta2;etc[/mazo]

y llamar a la funcion GuardarMazo($nombre, $cartas)

ahora solo consigo pasarle a la función el contenido de las etiquetas de esta forma:
$message = preg_replace_callback('~\[mazo\]([^\[]*)\[/mazo\]~i', 'GuardarMazo', $message);

¿Alguien sabe como programarlo para poder hacerlo con dos o más parámetros?




-Rock Lee-

¿No es mas sencillo pasar un parametro y usar un if? por lo general cuando intentas pasar varios parametros en una misma linea da problemas y mas si estas empezando, por eso pasalo 1 por vez es algo mas largo pero puede lo comprendas mas facil. Igualmente ¿que error te esta marcando? ¿no pasa el parametro? ¿de donde te estas guiando para aplicarlo?


Saludos!
¡Regresando como cual Fenix! ~ Bomber Code
Ayudas - Aportes - Tutoriales - Y mucho mas!!!

d3vcho

Fíjate en cómo se crean los demás tags. Si mal no recuerdo también estaban en el archivo Subs-Post. Hay bastante documentación en comentarios para guiarte, y evidentemente todos los tags por defecto de SMF están programados en el código.

Intenta replicar alguno de ellos.
"Greeting Death as an old friend, they departed this life as equals"

kesulin

Es lo que estoy haciendo, usando el contenido separando las variables por algun caracter especial y luego un "explode" para seleccionar cada una. Pero es poco elegante.

No hay nada en Subs-Post.php que llame a una función con varias variables. Lo máximo que he encontrado es un mod que le pasabas una lista y seleccionaba el número indicado de elementos, para indicar los elementos haba un atributo en el tag. Pero este mod no funciona en SMF 2.0.15.

Por otro lado, en Subs.php sí hay algunos tag que pasan varias variables, pero no puedo hacerlo en Subs porque no modifica el cuerpo del mensaje en el momento de postear, si no que parsea el mensaje al vuelo, y cada vez que se carga la página lo parsea de nuevo, y no es lo que quiero. Yo quiero modificar el mensaje una vez y no cada vez que se cargue la página.

Por lo que veo parece imposible, así que voy a seguir como hasta ahora y usar un caracter especial para separar variables.

Si alguien está interesado en un mod para manejar mazos de cartas dentro del foro que contacte conmigo, ya lo tengo terminado.  8)

Advertisement: