Foros del Web » Programando para Internet » PHP »

Foro y emoticonos

Estas en el tema de Foro y emoticonos en el foro de PHP en Foros del Web. Hola soy el pesado del foro! En el script de nuevo_mensaje me gustaría introducir el típico cuadro con emoticonos (como en este foro) tan útiles ...
  #1 (permalink)  
Antiguo 21/07/2003, 06:31
Avatar de Woody  
Fecha de Ingreso: abril-2003
Ubicación: Madrid y Barcelona
Mensajes: 68
Antigüedad: 21 años, 6 meses
Puntos: 0
Foro y emoticonos

Hola soy el pesado del foro!

En el script de nuevo_mensaje me gustaría introducir el típico cuadro con emoticonos (como en este foro) tan útiles para dar entonaciones a nuestros frios caracteres de los mensajes.

Me he bajado un par de foros prefabricados para ver como lo hacen en estos, sobretodo el phpbb2, pero me pierdo entre tantas opciones de configuración y entre tantas funciones...

Bueno, si alguien me puede decir donde puedo encontrar algo para saber como hacerlo o que me de que rara función php se usa o algo por el estilo... se lo agradeceré.

Un saludo...

Woody.
  #2 (permalink)  
Antiguo 21/07/2003, 06:37
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 23 años
Puntos: 5
Todo se basa en la funcion str_replace() jeje por hacerlo de una forma cutre jeje bueno la idea seria:
Código PHP:
$x "Esto es una prueba :) jeje :D"
$original[0] = ":)";
$depurado[0] = '<img src=imagenes/icon1.gif>';
$original[1] = ":(";
$depurado[1] = '<img src=imagenes/icon2.gif>';
$original[2] = ";(";
$depurado[2] = '<img src=imagenes/icon3.gif>';
$original[3] = ":D";
$depurado[3] = '<img src=imagenes/icon4.gif>';
$original[4] = ";)";
$depurado[4] = '<img src=imagenes/icon5.gif>';
$original[5] = "8)";
$depurado[5] = '<img src=imagenes/icon6.gif>';
$original[6] = ";'(";
$depurado[6] = '<img src=imagenes/icon7.gif>';
$original[7] = ":P";
$depurado[7] = '<img src=imagenes/icon8.gif>';
$original[8] = "(l)";
$depurado[8] = '<img src=imagenes/icon9.gif>';
$original[9] = "(y)";
$depurado[9] = '<img src=imagenes/icon10.gif>';
$original[10] = "(n)";
$depurado[10] = '<img src=imagenes/icon11.gif>';
$texto str_replace($original$depurado$texto); 
Eso para el tema de los emoticonos, puedes hacerte una funcioncilla que te lo genere todo solito para meter emoticonos mediante BBDD etc etc todo eso ya es jugar un pokito con el codigo .

Eso seria el tema del PHP para meterlos via click pos usa JavaScript , para ello pos te miras el code fuente de aki mismo y lito
__________________
Usuario registrado de Linux #288725
  #3 (permalink)  
Antiguo 21/07/2003, 06:55
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 8 meses
Puntos: 1
Bueno yo lo que hago es usar un script y gardarlo en la base de datos tal cual y cuando tengo que mostrarlo hago un str_replace dode cambiao por ejemplo :]] por images/risa.gif

mira aki te servira 113. Insertar emoticones en un textarea

Enlace

Un Saludo
  #4 (permalink)  
Antiguo 21/07/2003, 07:16
Avatar de Woody  
Fecha de Ingreso: abril-2003
Ubicación: Madrid y Barcelona
Mensajes: 68
Antigüedad: 21 años, 6 meses
Puntos: 0
Gracias por la celeridad...
Estoy procesando toda la información... pero creo que sabre hacerlo.

Gracias.

Un saludo.
  #5 (permalink)  
Antiguo 21/07/2003, 08:53
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años, 7 meses
Puntos: 2
El metodo de epplestun es bueno ,, pero utilzando el mismo str_replace sin arrays es asi:
Código PHP:
$mensaje str_replace(":)"<img src="carita.gif\">",$mensaje); 
Salu2
__________________
http://www.chorcha.com
  #6 (permalink)  
Antiguo 21/07/2003, 11:34
Avatar de Woody  
Fecha de Ingreso: abril-2003
Ubicación: Madrid y Barcelona
Mensajes: 68
Antigüedad: 21 años, 6 meses
Puntos: 0
Gracias camargo por tu apunte.

Un saludo.

Woody
  #7 (permalink)  
Antiguo 21/07/2003, 13:02
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 23 años
Puntos: 5
Camargo, digo yo jeje que seran varios los emoticonos que tan jeje y no solo uno, por otra parte es mas aconsegable usar ereg_replace ya que puedes indicarle cualquier emoticono, es decir, usando str_replace en:
Código PHP:

$string 
"prueba:D";
echo 
str_replace(":D","<img src=imag.gif>"$string); 
Eso no devolveria una imagen, sin embargo usando la expresion regular correcta con ereg_replace si se pondira la imagen jeje es una anotacion mas
__________________
Usuario registrado de Linux #288725
  #8 (permalink)  
Antiguo 21/07/2003, 13:09
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años, 7 meses
Puntos: 2
Si son varios los emoticons que kiere agregar es x logica q tendria que reproducir el numero de str_replace
Código PHP:
$mensaje "Carita Feliz :) y Carita Enojada :(";
$mensaje str_replace(":)"<img src="carita.gif\">",$mensaje);
$mensaje str_replace(":("<img src="enojado.gif\">",$mensaje);

echo 
$mensaje
¬¬,, en fin.. fijate en tu codigo y usas = q yo str_replace

Salu2
__________________
http://www.chorcha.com
  #9 (permalink)  
Antiguo 21/07/2003, 13:37
Avatar de Woody  
Fecha de Ingreso: abril-2003
Ubicación: Madrid y Barcelona
Mensajes: 68
Antigüedad: 21 años, 6 meses
Puntos: 0
a ver si nos aclaramos...

Creo que ya lo entiendo y los dos estais usando la mismo...

Pero la diferencia entre ereg_replace y str_replace (que apunta espplestum) es que el primero no tiene en cuenta espacios y que el segundo si.

Vamos que ereg_replace busca :) aunque este dentro de una cadena de caracteres (ejemplo: hola:)hola) y en cambio str_replace únicamente busca los caracteres ya aislados (ejemplo: hola :) hola).

Venga creo que me saldrá... ya os contaré.



Woody

P.D. Observando la cara al lado de Woody podemos ver que este foro esta programado con ereg_replace ¿no?

Última edición por Woody; 21/07/2003 a las 13:40
  #10 (permalink)  
Antiguo 22/07/2003, 01:45
Avatar de DINASEN  
Fecha de Ingreso: marzo-2003
Mensajes: 997
Antigüedad: 21 años, 8 meses
Puntos: 1
otra onotacion seria asi no?¿

Código PHP:
$mensaje "Carita Feliz :) y Carita Enojada :(";
$mensaje str_replace(":)","<img src=\"carita.gif\">",$mensaje);
$mensaje str_replace(":(","<img src=\"enojado.gif\">",$mensaje);

echo 
$mensaje
Un Saludo
  #11 (permalink)  
Antiguo 22/07/2003, 01:55
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 23 años
Puntos: 5
Si, pero para que repetir una funcion si podemos hacerlo invocando solo a una? para eso se usan los arrays en este caso :P
__________________
Usuario registrado de Linux #288725
  #12 (permalink)  
Antiguo 22/07/2003, 08:03
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años, 7 meses
Puntos: 2
Entonces,, todos estos mensajes han sido en vano, pues primero me avisas que solo podre utilizar 1 carita cuando el kiere muchas

Analiza tus msg eppestun, no, nomas escribas post x kerer apañar otros usuarios.. en fin.. ya sabemos que utilizar arrays es conveniente para ahorrarnos codigos,, pero ,, ve mi msg y yo di otra solucion (casi igual)...

Salu2
__________________
http://www.chorcha.com
  #13 (permalink)  
Antiguo 22/07/2003, 10:43
Avatar de Woody  
Fecha de Ingreso: abril-2003
Ubicación: Madrid y Barcelona
Mensajes: 68
Antigüedad: 21 años, 6 meses
Puntos: 0
Ya lo he conseguido!!!!

No es necesario que sigan con el tema, ya lo tengo exactamente como quiero gracias a todos.

Para su información diré que al final utilice arrays, exactamente como me describía epplestum en su segundo mensaje (aunque camargo decía prácticamente lo mismo), y también use las anotaciones de Dinasen y la pregunta 113 de las Faqs de Java para poner los iconos al lado del cuadro de mensaje y porderlos ir clickeando con el mouse (exactamente igual que en este foro).

Bueno... gracias por todo a todos , sin ustedes no lo hubiese conseguido seguro.

Un saludo.

Woody
  #14 (permalink)  
Antiguo 22/07/2003, 13:43
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 23 años
Puntos: 5
Camarog no se que piensas pero yo solo comente lo del array porque es la manera mas correcta de hacerlo, existen muchismas diferentes pero hay que pensar en la mas eficaz, para ello se utilizan los arrays, para almacenar datos y esos datos trabajarlos como se quieran.

Te recomiendo qyue guardes un poco de respeto hacia los demas, ya que los mensajes que escribi anteriormente van directamente relacionados con la pregunta de Woody y los hice para comentar cosas necesarias no por querer discriminar ni mucho menos a algun usuario, y si te das cuenta los post que escribo en este foro son solo para ayudar y cuando tengo una respuesta coherente y que funciona, por otra parte, en el código que escribieste te daria un parser error ya que no escapas la comilla simple y por otro lado repites lo que yo dije anteriormente, por lo cual te recomiendo leer los post de los demas antes de contestar lo mismo, que no por tener mas mensajes en un foro se es mejor, se es bueno por tener mensajes buenos, entendido?
__________________
Usuario registrado de Linux #288725
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.
Tema Cerrado




La zona horaria es GMT -6. Ahora son las 13:01.