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
qué lenguaje usas para sacar los datos de la bd?