Tema: emoticons
Ver Mensaje Individual
  #2 (permalink)  
Antiguo 07/03/2003, 11:21
Avatar de tunait
tunait
Moderadora
 
Fecha de Ingreso: agosto-2001
Ubicación: Terok Nor
Mensajes: 16.805
Antigüedad: 23 años, 6 meses
Puntos: 381
Que tal,

mira yo lo que he visto casi siempre es que se usa javascript para insertar los códigos en el textarea, pues se necesita realizar esa acción sin pasar por el server.

Pero para la acción contraria, la que buscas, se hace generalmente en el server con un lenguaje de servidor.

Yo lo que he visto es que para cambiar los códigos por las imágenes se usa, por ejemplo, vbscript en el servidor. Da menos problemas.

Mis dos neuronas dicen que yá no se les ocurre alterntivas.
Con las líneas de código que he sacado no sirve usar paréntesis ")" porque el script luego los omite y funciona mal.

Yo te dejo lo que he sacado, aunque te sugiero lo hagas en el server con otro lenguaje.

No se deben usar paréntesis.... y a saber qué más no se pueda usar.

He puesto el ejemplo para recoger código del tipo los emoticones que se insertan en estos foros, que comienzan por dos puntos (:) y finalizan igual.

prueba, aunque yo no confiaría en este código, personalmente.

Si alguien se le ocurre cómo modificarlo para hacerlo más seguro, adelante

Código PHP:
<html>
<
head>
<
title>Untitled Document</title>
<
meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<
script language="JavaScript">
<!--
function 
smilies(cod,ima)
{
this.cod=cod
this
.ima=ima
}
var 
emoticoncillos=new Array()
emoticoncillos[0]= new smilies(":risa:","smile.gif")
emoticoncillos[1]= new smilies(":-\}","lily.gif")
emoticoncillos[2]= new smilies(":pepe:","smile.gif")
function 
reemplazar(que)
{
valor=que
for(m=0;m<emoticoncillos.length;m++)
    {
    
carita = new RegExp (emoticoncillos[m].cod,"g")
    
imagen ' <img src="' emoticoncillos[m].ima '"> '
    
valor=valor.replace(carita,imagen)
    }
document.getElementById('visor').innerHTML=valor
}

// -->
</script>
</head>

<body bgcolor="#FFFFFF" text="#000000">
<form name="form1" method="post" action="">
  <textarea name="textfield" cols="50" rows="10" onBlur="reemplazar(this.value)"></textarea>
  <div id="visor" style="position:absolute; width:310px; height:175px; z-index:1"></div>
</form>
</body>
</html> 
Prueba a escribir en el textarea

Código:
: risa: :pepe: :-}
qué lenguaje usas para sacar los datos de la bd?