PDA

Ver la Versión Completa : Caritas en mi Foro.


Roilo
19-10-2006, 16:26:22
Hola.
En mi sitio WEB incorporé un foro de discusión. Los usuarios me han pedido que incluya lo de las caritas pero... :confused::(:mad::o.
el campo de la base de datos donde guardo los comentario de los usuarios es de tipo longtext, no se si habrá que cambiarle el formato a este campo para lograrlo...Cuál es la magia??? :):rolleyes::p;):D. o es que las caritas no van para la bd.
gracias

Neftali [Germán.Estévez]
19-10-2006, 16:31:47
Creo que no deberías cambiarlo; En la Base de Datos, me da la imporesión de que se sigue guardando texto; Es a la hora de pintarlo cuando el editor lo sustituye por las imágenes correspondientes.

Para que te hagas una idea de lo que intento explicar, creo que el texto de tu mensaje se almacenaría así. (http://img157.imageshack.us/img157/5605/sinttulo3ak1.jpg)

dec
19-10-2006, 16:34:21
Hola,

La magia está en "parsear" el texto (no tienes que cambiar el tipo de el campo en la base de datos) del mensaje de modo que se sustituyan los símbolos de las caritas por su correspondiente imagen.

Es decir, simplificando, algo más o menos como esto:


function Text2Caritas($text)
{
$resultado = '';
$resultado = str_replace(':)', '<img src="img/carita_contento.png" alt="Contento" width="16" height="16" />', $text);
$resultado = str_replace(';)', '<img src="img/carita_complice.png" alt="Cómplice" width="16" height="16" />', $text);
// Siguientes caritas...
return $resultado;
}


Esa es la forma en que llevo viendo hacer esto en varios proyectos... no sé, a bote pronto es lo que se me ocurre, aunque, cómo no... uno se pregunta si no podrá hacerse de otro modo... más chachi piruli... :D

Sotrono
19-10-2006, 16:35:20
Hola, yo de PHP se nada, pero las esas caritas cuando se van a almacenar se traducen en texto. Por ejemplo cuando pones esta carita: :p, lo que se guarda es es esto: ": p" (lo pongo con un espacio en el medio porque sino me muestra la carita)
Si te finas cuando vas a publicar un mensaje en este foro y queres poner una de esas caritas, en el editor de textos te aparece la cadena de caracteres correspondiente a esa carita.
Luego cuando quieras mostrar algun mensaje que tenga estos emoticons lo que tendrias que hacer es recorres todo el texto del mensaje buscando alguna cadena de caracters que corresponda a un emoticon y reempazar esa cadena por la carita.
Eso es lo que se me ocurre a mi, tal vez haya otra manera mas facil de hacerlo.

Salu2!!

Sotrono
19-10-2006, 16:38:23
Jajajaja, dijimos exactamente lo mismo :D :D , solo que vos pusiste el codigo y yo lo dije con palabras. Hasta en esto coincidimos: :D

Eso es lo que se me ocurre a mi, tal vez haya otra manera mas facil de hacerlo.

no sé, a bote pronto es lo que se me ocurre, aunque, cómo no... uno se pregunta si no podrá hacerse de otro modo...

Roilo
19-10-2006, 16:58:19
Eso de Capito me lo enseñó mi amigo Power Traslator:cool:


function Text2Caritas($text)
{
$resultado = '';
$resultado = str_replace(':)', '<img src="img/carita_contento.png" alt="Contento" width="16" height="16" />', $text);
$resultado = str_replace(';)', '<img src="img/carita_complice.png" alt="Cómplice" width="16" height="16" />', $text);
// Siguientes caritas...
return $resultado;
}


Este código para mí está claro. Ahora me quedan 2 cosas:
1-Buscar las imagensitas .png
2-hacer otra pregunta : como inserto las caritas mientras escribo en la página?:confused: ¿Cómo quedaría el vínculo entre la imagen y el componente "Memo" donde se escribe?

dec
19-10-2006, 20:00:51
Hola,


1-Buscar las imagensitas .png


Bueno. Podrías echar un vistazo a la licencia de las imágenes que utiliza el proyecto WordPress (http://www.wordpress.org), por ejemplo. Se trata de un proyecto de código abierto y que cuenta con una licencia "libre" y que por lo tanto acaso utilize imágenes también libres y gratuitas.


2-hacer otra pregunta : como inserto las caritas mientras escribo en la página? ¿Cómo quedaría el vínculo entre la imagen y el componente "Memo" donde se escribe?


¿Te refieres a que las propias caritas se vieran según editas el cuerpo del mensaje de que las contenga? Son dos cosas distintas. Para mostrar el texto del mensaje ya con las caritas una solución puede ser la que se te ofrece más arriba.

Para "ver" las caritas según vas editando el mensaje... o bien tratas de adaptar un editor WYSIWYG (What You See Is What You Get, o lo que ves es lo que obtienes) como FCKEditor (http://www.fckeditor.net/) en tu sitio Web, o bien te lo montas más o menos como lo hagan ellos... Y conste que hay en Internet disponibles varios editores de este tipo "listos para usar" y cuyo código podría estudiarse por distribuirse bajo licencias "libres".

Yo lo desconozco, la verdad. Diría que el tema tiene que ver con "iframes", es decir, de algún marco en donde podría mostrarse el resultado de "procesar" el texto/fuente que esté escribiéndose... lo cierto es que me pierdo un poco en este sentido, nunca probé algo así y ahora mismo no sabría decirte otra cosa... lo lamento.