Foros del Web » Programando para Internet » PHP »

Miren lo que me acabo de inventar

Estas en el tema de Miren lo que me acabo de inventar en el foro de PHP en Foros del Web. Hola. Tenia el siguiente problema: Desplegar contenido desde una BD a una pagina web. El problema radica que tal si esos textos son con imagenes ...
  #1 (permalink)  
Antiguo 08/09/2002, 15:50
Avatar de AngelRoyo  
Fecha de Ingreso: marzo-2002
Ubicación: Santiago de Chile
Mensajes: 207
Antigüedad: 15 años, 8 meses
Puntos: 5
Miren lo que me acabo de inventar

Hola.
Tenia el siguiente problema:
Desplegar contenido desde una BD a una pagina web.
El problema radica que tal si esos textos son con imagenes entremedio y no siguen un standard normal, y yo en la BD manejo solo texto plano y no quiero cometer el error de llenarla con html.

Bueno mirando el manual toda la mañana de este dominfo y buscando funciones, llegue luego de machar caña a esto:

<?
$tex="[img]menugif.gif,100,100,left[/img] BLA BLE BLI BLO";
$res=ereg_replace( "\[img\](.*),(.*),(.*),(.*)\[/img\]", "<img src=\"\\1\" width=\"\\2\" height=\"\\3\" align=\"\\4\">", $tex );
$res2=preg_quote($tex);
echo "$res <br/> $res2";
?>

Y como me di cuenta de este traba lengua: "\[img\](.*),(.*),(.*),(.*)\[/img\]"

Viendo el manual y usando lo que me muestra $res2, con eso pueden formar su promio tag.
Yo lo usare para un campo de una BD en la cual debo colocar imagenes pero no ensuciar con codigo html.

La cosa es que entre mas conozco PHP mas me sorprende lo increible que es. Y que casi todo se puede hacer usando el manual. Recomiendo tener las dos versiones Ingles y Castellano en CHMD-HTML.

Saludos y espero les sirva.
PD: Lo más seguro es que ya esta inventado, así que no me jusguen, pero les cuento un pokito como llegue yo a solucionar mi desafio.
  #2 (permalink)  
Antiguo 08/09/2002, 16:29
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Re: Miren lo que me acabo de inventar

jejej .. acabas de descubrir las maravillas de usar las expresiones regulares xDDD.. Que por cierto no son propias de PHP ..

Un pequeño tutorial al respecto (expresiones regulares aplicadas en PHP):

<a href='ir.asp?http://www.phpbuilder.com/columns/dario19990616.php3' target='_blank'>http://www.phpbuilder.com/columns/dario1...</a>

Un saludo,
  #3 (permalink)  
Antiguo 08/09/2002, 17:06
Avatar de AngelRoyo  
Fecha de Ingreso: marzo-2002
Ubicación: Santiago de Chile
Mensajes: 207
Antigüedad: 15 años, 8 meses
Puntos: 5
Re: Miren lo que me acabo de inventar

Tengo un problema.
Y por medio de la intuicion no lo he podido resolver.

Es este:

$tex=&quot;[img]menugif.gif,100,100,left[/img] BLA BLE BLI BLO [img]menugif.gif,100,100,left[/img]&quot;;

Si paarece mas de 1 ves no resulta.
Seguro que falata algo en la expresion:

$res=ereg_replace( &quot;\[img\](.*),(.*),(.*),(.*)\[/img\]&quot;, &quot;&lt;img src=\&quot;\\1\&quot; width=\&quot;\\2\&quot; height=\&quot;\\3\&quot; align=\&quot;\\4\&quot;&gt;&quot;, $tex );

Si me pueden ayudar porfavor.
Que no troza o parsea nose como decirlo.
La cosa es que no funciona, cuando :
[img]menugif.gif,100,100,left[/img]
aparece mas de 1 vez.

Espero ayuda.
  #4 (permalink)  
Antiguo 08/09/2002, 17:11
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Re: Miren lo que me acabo de inventar

Angel .. te deje ahi un buen manual de expresiones regulares .. hechale un vistazo .. asi no tendras q andar con la intuicion a cuestas ... :P

Un saludo,
  #5 (permalink)  
Antiguo 08/09/2002, 20:17
Avatar de AngelRoyo  
Fecha de Ingreso: marzo-2002
Ubicación: Santiago de Chile
Mensajes: 207
Antigüedad: 15 años, 8 meses
Puntos: 5
Re: Miren lo que me acabo de inventar

No logro resolver mi problema.
No me funciona.
Si alguien me puede ayudar.
El articulo lo lei e intente muchas formas, pero no lo logro.

Si alguien lo logra selos agradeceria.
gracias
  #6 (permalink)  
Antiguo 08/09/2002, 22:17
Avatar de AngelRoyo  
Fecha de Ingreso: marzo-2002
Ubicación: Santiago de Chile
Mensajes: 207
Antigüedad: 15 años, 8 meses
Puntos: 5
Re: Miren lo que me acabo de inventar

SIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIIII
XDDDDDDDDDDDDD JAJAJAJAJAJAJA
Dios es grande.

LO LOGRE.
Rayos si que estoy feliz.
JAJAJAJJAJA.

&lt;?
$tex=&quot;Aqui texto [img]menugif.gif,150,200,left[/img] BLA BLE BLI BLO [img]menugif.gif,100,130,right[/img] Aqui mas texto&quot;;
$res=preg_replace( &quot;#\[img\](.*?),(.*?),(.*?),(.*?)\[/img\]#s&quot;, &quot;&lt;img src=\&quot;\\1\&quot; width=\&quot;\\2\&quot; height=\&quot;\\3\&quot; align=\&quot;\\4\&quot;&gt;&quot;, $tex );
$res2=preg_quote($tex);
echo &quot;$res &lt;br/&gt; $res2&quot;; //Lo que importa es el $res
?&gt;

Jujuju.
Por fin mi emulador de codigo html.
Nunca voy a llenar mi BD con codigo &lt;html&gt;, solo lleno con [img]...|formato|...[/img] y mas encima el formato me permite redimencionar y alinearla.

Ahi está chikos, para que ojala nunca llenen sus campos de BD con codigo html.
A crear los tag [tag] que quieran y con atributos separados por ( , ).

Joder. Ahora si que tengo respaldo para dar Clases xD.

PD: Cluster gracias por el link, pero el articulo ese me dejo perdido toda la tarde, pero no importa la cosa es que ya esta de algo seguro me habra servido.
Todo un dia domingo para esto.
La moraleja es que uno crece mucho si te machacas la cabeza,al contrario de dar el codigo servido.
  #7 (permalink)  
Antiguo 09/09/2002, 00:42
 
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires, Argentina
Mensajes: 193
Antigüedad: 15 años, 11 meses
Puntos: 0
Re: Miren lo que me acabo de inventar

hey, y cual es el problema de meter html en las bd?
saludos...
choly
  #8 (permalink)  
Antiguo 09/09/2002, 06:36
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 16 años
Puntos: 0
Re: Miren lo que me acabo de inventar

AngelRoyo yo no sabia como hacer eso...(tampoco me habia puesto ;)), exceltente tu trabajo .

Saludos.

<img src=http://www.talleresdelweb.com/~mariojp/cool.gif align=left>Visita:<br>&nbsp;<a href=http://www.talleresdelweb.com target=_blank>Talleres del Web</a><br>&nbsp;<a href=http://www.mumu-weee.com target=_blank>Mumu Weee</a>
  #9 (permalink)  
Antiguo 09/09/2002, 06:56
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 16 años
Puntos: 0
Re: Miren lo que me acabo de inventar

angelroyo he estado viendo tu código y la variable res sobra la forma mas facil seria:

Cita:

&lt;?
$tex=&quot;Aqui texto [img]menugif.gif,150,200,left[/img] BLA BLE BLI BLO [img]menugif.gif,100,130,right[/img] Aqui mas texto&quot;;
$tex=preg_replace( &quot;#\[img\](.*?),(.*?),(.*?),(.*?)\[/img\]#s&quot;, &quot;&lt;img src=\&quot;\\1\&quot; width=\&quot;\\2\&quot; height=\&quot;\\3\&quot; align=\&quot;\\4\&quot;&gt;&quot;, $tex );
echo &quot;$tex&quot;;
?&gt;
Saludos ;)

<img src=http://www.talleresdelweb.com/~mariojp/cool.gif align=left>Visita:<br>&nbsp;<a href=http://www.talleresdelweb.com target=_blank>Talleres del Web</a><br>&nbsp;<a href=http://www.mumu-weee.com target=_blank>Mumu Weee</a>
  #10 (permalink)  
Antiguo 09/09/2002, 07:11
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 16 años
Puntos: 0
Re: Miren lo que me acabo de inventar

Hola, si otra vez yo :).
Mirad lo que he echo al partir del ejemplo de angelroyo:

Código:
&lt;?

$texto1=&quot;[img src=imagen.gif width=150 height=200 align=left alt=imagen] (imagen.gif,150,200,left)&quot;;
$texto1=preg_replace( &quot;#\[img src=(.*?) width=(.*?) height=(.*?) align=(.*?)\ alt=(.*?)]#s&quot;, &quot;&lt;img src=\\1 width=\\2 height=\\3 align=\\4 alt=\\5&gt;&quot;, $texto1 );
echo texto1;

?&gt;
Ahora mi duda como puedo hacer para que los campos como href= o target aunq no esten colocados en este orden:
href,width,height,aling,alt
que se remplace??
me tocaria hacer un remplace para cada una de las cobinaciones posibles?

gracias.

<img src=http://www.talleresdelweb.com/~mariojp/cool.gif align=left>Visita:<br>&nbsp;<a href=http://www.talleresdelweb.com target=_blank>Talleres del Web</a><br>&nbsp;<a href=http://www.mumu-weee.com target=_blank>Mumu Weee</a>
  #11 (permalink)  
Antiguo 09/09/2002, 14:02
Avatar de Necros  
Fecha de Ingreso: enero-2002
Ubicación: Catalunya
Mensajes: 431
Antigüedad: 15 años, 10 meses
Puntos: 0
Re: Miren lo que me acabo de inventar

No entiendo pq se complican tanto en meter para meter HTML en un campo de una Base de datos...

Q yo sepa , a mi no me ha dado nunca ningún problema si haces un tratamiento previo de las cadenas...



By NeCrOS
http://www.necros.com

FrEe WoRlD is FrEE CoDE
-----------------------
  #12 (permalink)  
Antiguo 09/09/2002, 17:52
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Re: Miren lo que me acabo de inventar

Necros ...

Tan solo se trataria de ahorrar un poco de espacio en la BDD (unos pocos bytes q te quitas sengun el metodo q propuso AngelRoyo ..) a Costa de tiempo de proceso cada vez q ingresemos un data de ese tipo en la BDD.

A mi me enseñaron a optimizar el tiempo de proceso siempre en detrimento del espacio de almacenamiento .. Pero bueno ... sobre gustos no hay nada escrito.

Un saludo,
  #13 (permalink)  
Antiguo 09/09/2002, 20:31
 
Fecha de Ingreso: agosto-2002
Ubicación: Santiago de Chile
Mensajes: 136
Antigüedad: 15 años, 3 meses
Puntos: 1
Re: Miren lo que me acabo de inventar

mientras más leo estos post, menos entiendo php.
  #14 (permalink)  
Antiguo 09/09/2002, 20:48
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Re: Miren lo que me acabo de inventar

macelo ..

El dia que comprendas QUE hace PHP ese dia lo sabras :P

En este caso se está aplicando una cosa q le llaman &quot;Expresiones regulares&quot; .. y no tiene nada que ver con PHP .. PHP simplemente te pone a tu disposicion funciones para que lo uses.

Otro ejemplo similar es el manajejo de Base de datos via PHP .. Ahí PHP otra vez solo hace de puente ofreciendo algunas funciones basicas ... pero el grueso NO depende de PHP sino de SQL en el caso de Base de datos ... cada Base de datos con su SQL particular mas o menos cumpliendo el standar ...

Otro ejemplo .. el famoso &quot;echo&quot; ... o &quot;print&quot; .. otro que tal .. PHP en ese caso dice &quot;enviar salida al dispositivo&quot; .. cual? .. depende .. si tienes montado PHP como modulo de un servidor HTTP . será a un navegador .. y dentro de este puedes enviar Javascript, HTML o cualquier tecnologia del lado del cliente (browser en este caso) ... Imagina otro dispositivo de salida .. un celular WAP .. ahi lo que hacemos es eviar el legunaje q entiende el celular WAP (el WML si no me equivoco con las siglas ...) ..

Y asi todo con PHP .. PHP solo procesa .. de donde interactues con la introduccion de dtos o a donde los envies para mostrarlos NO es tarea de PHP extrictamente ...

Un saludo, a ver si ahora te liee mas

  #15 (permalink)  
Antiguo 09/09/2002, 20:59
 
Fecha de Ingreso: agosto-2002
Ubicación: Santiago de Chile
Mensajes: 136
Antigüedad: 15 años, 3 meses
Puntos: 1
Re: Miren lo que me acabo de inventar

Cluster, no sabes cómo te agradezco que te tomes el tiempo en ayudarme, de verdad gracias amigo. :)
  #16 (permalink)  
Antiguo 10/09/2002, 00:04
Avatar de AngelRoyo  
Fecha de Ingreso: marzo-2002
Ubicación: Santiago de Chile
Mensajes: 207
Antigüedad: 15 años, 8 meses
Puntos: 5
Re: Miren lo que me acabo de inventar

Hola Buen dia.
Bueno nunca pense que habria posteo, yo pensaba ver este post en la pagina (2).

Mycol.: Oye me gusto lo que hiciste. Esta bueno pa aprender, aun que igual ahi que escribir mucho, pero la cosa es que me gusto, quizas que más se podria hacer con esto. La necesidad lo dira.
En el link que nos recomendo Cluster_ ahi muy buenas aplicaciones, gracias a mi amigo Cluster_.
Mycol sobre el orden, pues creo que tienen que ir ordenas \\numero, ese determina donde apellida el contenido y lo reemplaza, así que dudo de que se pueda hacer simple. De hacer seguro, pero no ahi nada hoy por hoy que no se pueda hacer con PHP.

Sobre lo de meter HTML. Pues es simple. Ahora mismo me di cuenta apretando estos botoncitos de abajo del text tarea.
Sale [tag][/tag] por dar el ejemplo, Yo quiero llenar mi BD, así sin ensuciar con html. Por que creo el html con las funciones htmlentities(); y nl2br();(algo así :).
Parece que este foro usa algo así.
Yo lo uso por que necesito llenar una BD para hacer unos articulos y el texto es mucho mas limpio de apreciar y de escribir si lleno la BD sin HTML. O para cualquier persona, sobre todo acentos y tag's.
Fue la necedidad lo que me llevo a esto.

Saludos y Gracias por comentar.
Angel.
  #17 (permalink)  
Antiguo 10/09/2002, 04:47
Avatar de Maycol  
Fecha de Ingreso: diciembre-2001
Ubicación: Ávila (España)
Mensajes: 539
Antigüedad: 16 años
Puntos: 0
Re: Miren lo que me acabo de inventar

Hola.
Yo no lo digo por ahorrar espacio en la DB si no mas que nada porque puede venir bien a parte de ahorrar espacio...

Y otra cosa nadie entonces sabe como hacer lo que pregunto?

Saludos.

<img src=http://www.talleresdelweb.com/~mariojp/cool.gif align=left>Visita:<br>&nbsp;<a href=http://www.talleresdelweb.com target=_blank>Talleres del Web</a><br>&nbsp;<a href=http://www.mumu-weee.com target=_blank>Mumu Weee</a>
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 05:07.