PHP BBCode

shortyStyle

Hola a todos, bueno tengo una duda, y me gustaría saber si se podría hacer.

Bien tengo una función bbcode, que para cada notícia, comentario, post, lo que sea, que se envia a la bbdd pasa por esta función cambiando lo típico, el < b> lo cambia por etc etc.

Pues bien, pues me gustaría que cuando pusiera [jugador]nick[/jugador], cogiera ese nick, lo guardara en una variable y hacer que ese tag jugador lleve al perfil de ese jugador, pero no se me ocurre forma de hacerlo.

¿Alguna idea/ayuda?

Muchas gracias

r2d2rigo

Para extraer el nick copia el procedimiento del tag , y luego haces en la bd un SELECT id FROM usuarios WHERE nick = $nickextraido.

Nosesimexplicobien :P

shortyStyle

Si te explicas bien, pero mira así cojo las imágenes:

http://pastebin.es/1573

entre el va cualquier texto, lo que sea, pero nose como podría hacer para coger ese cualquier texto ( esto ([\[]*) ) guardarlo en una variable :\

Hynack

shorty, que lo del jugador ya lo he hecho yo!!!! xD

Pero ahora necesitamos otra cosa. El tema es guardar en una variable lo que este dentro de una cadena, y a su vez entre [team] y [/team]

Ejemplo.

El equipo español del [team]Zaragoza[/team] blabla...

Tengo que guardar en una variable Zaragoza, alguien sabe como?

r2d2rigo

Hago un pastebin que si no se me peta:

http://pastebin.es/1574

Hynack

voy a probar esto ultimo que en teoria tiene que funcionar, gracias

Hynack

mmmm me he dado cuenta que hay un problema. La cadena que le paso es mas larga que el bbcode, asi q va a meter en la variable tooooda la cadena, con ese trozo sustituido :/

Yo necesito "aislar" solo la url, pero sin modificar la cadena en principio, para una vez encntrada la id asociada, modificarla.

Es decir, necesito una especie de funcion que en vez de reemplazar, solo lea.

Ejemplo mas claro:

blablalba [team]Celta[/team] blab aba

funcion_leer($cadena) // Aqui que me devuelva Celta, pero sin modificar nada de la cadena original

opero_la_variable(Celta) //Leo la bd y esas cosillas, de aqui me devuelve un numero

reemplazo_la_cadena //Aqui si que reemplazo la cadena con la funcion eregi_replace metiendo en numero que he encontrado.

Ademas, que todo esto sea capaz de hacerlo una vez cada por cada tag encontrado en la misma cadena.

Las dos ultiams cosas son faciles de hacer, pero no se como hacer lo primero.

r2d2rigo

Me aburria un rato, asi que os he hecho la funcion y tal. Probad que va bien que yo para debugeador no valgo :P

http://pastebin.es/1577

Hynack

joder, muchisimas gracias tio

shortyStyle

Muchas gracias r2d2rigo :) ya nos funciona perfectamente. Nos rompimos un poco la cabeza porque no funcionaba y al final era una chorrada del for, (estaba < y tenía que ser <= ) pero ya está.

Gracias ;)

Usuarios habituales

  • shortyStyle
  • Hynack
  • r2d2rigo