Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/09/2014, 19:39
Luminis
 
Fecha de Ingreso: abril-2014
Ubicación: 3 metros sobre la casa de abajo
Mensajes: 40
Antigüedad: 10 años
Puntos: 6
¿Cómo darle formato a esta cadena?

Hola comunidad, ayer estuve por acá con una duda que ya está resuelta gracias a dos usuarios que me supieron explicar muy bien algunas cosas, sin embargo, hoy tengo otra duda con algo muy parecido.

Iré al grano para no enrredarme más de lo que ya estoy

Tengo que copiar cierta información de una página y procesarla por medio de un pequeño sistema que me ando inventando, con la finalidad de darle el formato que necesito. El problema está en que al copiar y pegar la información, esta mantiene el formato de origen, con lo cual me la coloca exactamente en esta disposición:

Robert
Sam
Yanni
Morpel
Rock In A Hard Place
Baltim


¿Que necesito?

Que al pegar esa info, el sistemita la procese y me arroje como resultado la misma info pero con este formato:

[[Robert]]<br>[[Sam]]<br>[[Yanni]]<br>[[Morpel]]<br>[[Rock In A Hard Place]]<br>[[Baltim]]

Nótese que la etiqueta <br> debe aparecer literalmente y no como código. Ahora bien, si es muy dificil de hacer lo que necesito, también me podría servir el siguiente formato como resultado del procesamiento:

[[Robert]]<br>
[[Sam]]<br>
[[Yanni]]<br>
[[Morpel]]<br>
[[Rock In A Hard Place]]<br>
[[Baltim]]<br>


Creo haber estado cerca de lograr dar con el primer formato que necesito, ya que hice lo siguiente:

Código PHP:
<?php
$array_compra 
preg_replace('/(.+)/''[[$1]]&ltbr>'explode(' '$npccompra));
echo 
"<b>|Npc al que se le compra: = </b>".implode(''$array_compra)."<br>"
?>
Eso me dió como resultado lo siguiente:

[[Azil]]<br>[[Shanar]]<br>[[Memech]]<br>[[Cornelia]]<br>[[Willard]]<br>[[Ulrik]]<br>[[Raffael]]<br>[[Kroox]]<br>[[Cedrik]]<br>[[Turvy]]<br>[[Hardek]]<br>[[Brengus]]<br>[[Robert]]<br>[[Sam]]<br>[[Yanni]]<br>[[Morpel]]<br>[[Rock]]<br>[[In]]<br>[[A]]<br>[[Hard]]<br>[[Place]]<br>[[Baltim]]<br>

El problema es que lo que está en negrita, está malo, ya que divide el texto original:

Texto original: Rock In A Hard Place
Lo que espero obtener:[[Rock In A Hard Place]]<br>
Lo que realmente hace: [[Rock]]<br>[[In]]<br>[[A]]<br>[[Hard]]<br>[[Place]]

Cabe destacar que nunca había usado preg_replace, ni explode ni implode, de hecho, anoche fue que me enteré de que existía (me mantengo a mucha distancia del PhP).

Si alguien me puede dar una ayuda me libraría de un gran dolor de cabeza

Muchas gracias de antemano :) Saludos y un fuerte abrazo desde Venezuela.
__________________
Vivir y aprender... ojalá pudiera resistir por lo menos 150 años.