Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] ¿Como darle formato a un string?

Estas en el tema de ¿Como darle formato a un string? en el foro de PHP en Foros del Web. Hola comunidad, tengo un problema y quisiera encontrarle la solución. Les comento: Tengo que agregar una serie de datos a una base de datos MySQL ...
  #1 (permalink)  
Antiguo 06/09/2014, 18:26
 
Fecha de Ingreso: abril-2014
Ubicación: 3 metros sobre la casa de abajo
Mensajes: 40
Antigüedad: 9 años, 11 meses
Puntos: 6
Pregunta ¿Como darle formato a un string?

Hola comunidad, tengo un problema y quisiera encontrarle la solución. Les comento:

Tengo que agregar una serie de datos a una base de datos MySQL para luego agregarla a una wiki, pero el problema es que el formato de la información que debo agregar es el siguiente:

Gold Coins, Ice Cube, Plate Armor, Steel Helmet, Strong Mana Potion, Sniper Arrows, Crystal Sword, Crystal Necklace

Lo que necesito es que a cada palabra se le agregue antes y después unos corchetes dobles [[]], quedando de esta manera:

[[Gold Coins]], [[Ice Cube]], [[Plate Armor]], [[Steel Helmet]], [[Strong Mana Potion]], [[Sniper Arrows]], [[Crystal Sword]], [[Crystal Necklace]]

En pocas palabras lo que quiero es crear un pequeño sistema que me permita agregar:

Gold Coins, Ice Cube, Plate Armor, Steel Helmet, Strong Mana Potion, Sniper Arrows, Crystal Sword, Crystal Necklace

Y al ser procesado me arroje como resultado lo siguiente:

[[Gold Coins]], [[Ice Cube]], [[Plate Armor]], [[Steel Helmet]], [[Strong Mana Potion]], [[Sniper Arrows]], [[Crystal Sword]], [[Crystal Necklace]]

Lo que no sé es qué funciones debo usar para modificar esa cadena de texto.

¿Cual es la intención al hacer esto?

Quisiera copiar y pegar tal cual algunas cadenas como la mostrada al principio, y al procesarlas estas me generen el texto con el formato que necesito. Es simplemente para copiar y pegar en el entorno wiki.

Si alguien conoce alguna posible solución para mi duda estaria muy agradecido. Desde ya muchisimas gracias a quienes puedan colaborar. Saludos!
__________________
Vivir y aprender... ojalá pudiera resistir por lo menos 150 años.
  #2 (permalink)  
Antiguo 06/09/2014, 20:08
Avatar de juan_14nob  
Fecha de Ingreso: abril-2010
Mensajes: 552
Antigüedad: 13 años, 11 meses
Puntos: 6
Respuesta: ¿Como darle formato a un string?

Hola Luminis,

Intenta con esto:
Código PHP:
Ver original
  1. <?php
  2. $contenido = "Gold Coins, Ice Cube, Plate Armor, Steel Helmet, Strong Mana Potion, Sniper Arrows, Crystal Sword, Crystal Necklace"; // Esta es la variable que va a contener el contenido
  3. $ex = explode(",",  $contenido);
  4.  
  5. foreach ($ex as $key => $value) {
  6.     $ex[$key] = "[[" . $value . "]]";
  7. }
  8. $result = implode(",", $ex); // $result es el string que vos queres que retorne.
  9.  
  10. ?>
Debe haber alguna forma mejor, pero esto te va a funcionar.

  #3 (permalink)  
Antiguo 06/09/2014, 22:28
Avatar de websensemx  
Fecha de Ingreso: febrero-2014
Mensajes: 29
Antigüedad: 10 años, 1 mes
Puntos: 4
Respuesta: ¿Como darle formato a un string?

Asi es, lo que propone Juan es lo mas viable para tu caso.

Saludos!
  #4 (permalink)  
Antiguo 06/09/2014, 22:54
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.551
Antigüedad: 12 años, 4 meses
Puntos: 977
Respuesta: ¿Como darle formato a un string?

Podrías hacerlo así:

Código PHP:
Ver original
  1. $string = 'Gold Coins, Ice Cube, Plate Armor, Steel Helmet, Strong Mana Potion, Sniper Arrows, Crystal Sword, Crystal Necklace';
  2. $array = preg_replace('/(.+)/', '[[$1]]', explode(', ', $string));
  3. echo implode(', ', $array);

El resultado será el siguiente:

Código HTML:
Ver original
  1. [[Gold Coins]], [[Ice Cube]], [[Plate Armor]], [[Steel Helmet]], [[Strong Mana Potion]], [[Sniper Arrows]], [[Crystal Sword]], [[Crystal Necklace]]

Lo que hago es lo siguiente. Primero, con la función explode, separo a la cadena a partir de las comas y espacios que encuentre en ella. Esto genera una matriz con cada par de palabras que originalmente estaban separadas del resto por comas y espacios. Enseguida, haciendo uso de una expresión regular y la función preg_replace, busco en dicha matriz a todos sus elementos y los encierro entre corchetes dobles, para lo cual hago uso de un grupo anónimo (esa es la razón del $1). Finalmente, con la función implode, uno a los elementos de dicha matriz con comas y espacios, obteniendo así el resultado esperado.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #5 (permalink)  
Antiguo 07/09/2014, 12:32
 
Fecha de Ingreso: abril-2014
Ubicación: 3 metros sobre la casa de abajo
Mensajes: 40
Antigüedad: 9 años, 11 meses
Puntos: 6
Respuesta: ¿Como darle formato a un string?

@juan_14nob y @Alexis88 el resultado es el buscado, muchísimas gracias a ambos por su valiosa ayuda. Saludos!
__________________
Vivir y aprender... ojalá pudiera resistir por lo menos 150 años.

Etiquetas: darle, formato, mysql
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:04.