| |||
vuelvo a insistir smilies en post de mi foro ya os prgunte esta duda hace unos dias xo no he podido consgir q me salga, qiero insertar smilies de la forma q teneis en vuestro foro, es decir pulsas sobre la imagen y te salta directamente mediante una serie de simbolos q se transforman en el dibujo elegido una vez dado en el boton contstar, he consgido el java script de los smilies xo no consigo q inserte los gifs en la zona de escritura, si algien me lo podria explicar un poco mas detalladamente q la persona q me contsto la ultima vez ruego q lo haga, si qereis el codigo php del "escribir post" de mi foro decirlo y lo pongo, salu2 y gracias |
| |||
Bueno .. ya que lo has intentado .. podrías poner algo del código que estas usando y nos indicas los problemas que tienes para ir mas rápido .. Si ya tienes tu código Javascirpt que dejas en tu <texarea> .. el código de tu smile .. suponemos por ejemplo [:)] .. sólo tienes que aplicar un str_replace() a esa variable que trabajas en tu <textarea> a la hora de mostrar tus mensajes .. El "str_replace()" será de tu [:)] por el código HTML que llame a tu imagen .. <img src="tugif.tal"> .... Un saludo
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| |||
/*<? include"datos.php"; if ($que=='guardar'){ if ($mensaje=='<FONT face=verdana size=-1></FONT>' || $nombre=='' || $titulo=='') { echo"<br><br><br><center>"._CREARERROR1."<br><br>< br><br><input class=\"clsButton\" type=\"button\" value=\"Volver\" OnClick=\"javascript:history.back()\"></center>"; } else { if(!isset($mensa)) { $mensa=0; } $result = mysql_query("SELECT anonimos FROM ".$prefijo."_foros where id='$fid'",$conexion); $row = mysql_fetch_row($result); if(!isset($fpusuario) && $row[0]==0){echo"<br><br><center>"._CREARMSG2."<br><br><b r><br><a href=\"index.php?fid=$fid\"></a></center>"; } else { $result = mysql_query("INSERT INTO ".$prefijo."_mensajes (id,f_id,autor,mensaje,fecha,nmens,titulo) VALUES ('', '$fid','$nombre','$mensaje',NOW(),'$mensa','$titul o') ",$conexion); $result2 = mysql_query("SELECT nick FROM ".$prefijo."_usuarios ",$conexion); while ($row = mysql_fetch_row($result2) ) { if ($row[0] != $nombre) { if ($mensa != 0) { $result = mysql_query("INSERT INTO ".$prefijo."_mensajes_nuevos (id_mensaje, usuario) VALUES ('$mensa', '$row[0]') ",$conexion); } else { $result = mysql_query("INSERT INTO ".$prefijo."_foros_nuevos (id_foro, usuario) VALUES ('$fid', '$row[0]')", $conexion); } } } echo"<br><br><center><b>"; if($mensa==0)echo""._TOPICO.""; else echo""._MENSAJE.""; echo" "._CREADO."!</b><br><br><br><input class=\"clsButton2\" type=\"button\" value=\"Aceptar\" OnClick=\"javascript:location='$retorno_url'\"></center>"; } } } if ($que=='topico' || $que=='mensaje') { $result = mysql_query("SELECT anonimos,abierto FROM ".$prefijo."_foros where id='$fid'",$conexion); $row = mysql_fetch_row($result); if($row[1]==0){echo"<br><br><center>"._INDEXMSG3."</center><br><br><br>"; include"secciones.php"; exit();} if(!isset($fpusuario) && $row[0]==0)echo"<br><br><center>"._CREARMSG2."<br><br><br ><br><a href=\"javascript:history.back()\"><img src=\"img/$lenguaje/aceptar.gif\" border=0 align=absmiddle></a></center>"; else{ echo" <script language=\"JavaScript\"> <!-- function FormatText(command, option){ frames.mensaje.document.execCommand(command, true, option); frames.mensaje.focus(); } // --> </script> <table width=500 cellspacing=1 cellpadding=2 align=center bgcolor=#CCCCCC> <tr> <td bgcolor=FFFFFF><center><b>"; if ($que=='topico'){echo""._CREARTOPICO.""; $retorno_url="index.php?fid=$fid"; } elseif($que=='mensaje'){echo""._CREARMENSAJE.""; $retorno_url="index.php?fid=$fid&up=$nmens"; } echo"</b></center></td></tr> <tr> <td bgcolor=EEEEEE> <form name=\"crear\" method=\"post\" action=\"crear.php?que=guardar\"> <input type=\"hidden\" name=\"retorno_url\" value=\"$retorno_url\"> <table width=\"300\" border=\"0\" cellpadding=\"3\" cellspacing=\"0\"> <tr><td colspan=2>"._CREARMSG1."<br><br></td></tr> <tr> <td align=\"left\" valign=\"middle\">"._NOMBRE.":</td> <td>"; if(isset($fpusuario)){ echo"$infocookie[0]"; } else echo""._ANONIMO.""; echo"</td> </tr>"; if ($que=='topico')echo" <tr> <td align=\"left\" valign=\"middle\"><b>"._TITULO.":</b></td> <td> <input class=\"clsTextbox\" type=\"text\" name=\"titulo\"> </td> </tr>"; echo"<tr> <td align=\"left\" valign=\"top\"><b>"._MENSAJE.":</b></td> <td> <table width=\"100%\" border=\"0\" cellspacing=\"0\" cellpadding=\"0\"> <tr> <td> </td> </tr> </table> <iframe class=\"texto\" src=\"blank.html\" id=\"mensaje\"></iframe> <script language=\"javascript\"> frames.mensaje.document.designMode = \"On\"; </script> <br> <input type=\"hidden\" name=\"mensaje\" value=\"\"> </td> </tr> <tr> <td align=\"left\" valign=\"top\"> </td> <td align=\"right\"> <input class=\"clsButton\" type=\"button\" value=\"Cancelar\" OnClick=\"javascript:history.back()\"> <input type=\"submit\" value=\"Aceptar\" class=\"clsButton2\" name=\"Aceptar\" OnClick=\"document.crear.mensaje.value = frames.mensaje.document.body.innerHTML;\" tabindex=\"30\"> <input type=\"hidden\" name=\"fid\" value=\"$fid\">"; if(isset($fpusuario))echo" <input type=\"hidden\" name=\"nombre\" value=\"$infocookie[0]\">"; else echo"<input type=\"hidden\" name=\"nombre\" value=\"anonimo\">"; if ($que=='mensaje')echo"<input type=\"hidden\" name=\"titulo\" value=\"mensaje comun\">"; if(isset($nmens))echo"<input type=\"hidden\" name=\"mensa\" value=\"$nmens\">"; echo"</td> </tr> </table> </form> </td> </tr> </table> ";} } include"secciones.php"; ?>*/ mas o menos es esto, con lo q consigo insertar los mensajes en la b.d xo no consigo lo de los smilies spero q puedas ayudarme gracias |
| |||
Ya te lo he comentado .. ¿que formato tienen tus "smiles" cuando los guardas en tu BD? .. :) .. ;) .. o [:)] .. [;)] .. o el que le des ... Sólo tienes que aplicar a la variable que uses: $row['mensaje'] o como se llame tu mensaje en tu BD .. el str_replace() Str_replace() sustituye las apraciones de lo que indiques (tu smile) por lo que le indiques (tu código HTML de la imagen normal y corriente) a la variable que uses (la de tu BD .. $row['mensaje']) .. Repasa el manual de PHP veras que no es tan dificil: http://www.php.net/manual/en/function.str-replace.php Un saludo,
__________________ Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo. |
| ||||
ej: si tu codigo de smile es :) usas [PHP] $text = $row["text"]; $text = str_replace(":)","<img src='smilie.gif'>",$text); echo $text; [PHP] Y eso mostrara el texto que esta en tu BD y reemplazara todos los :) por el codigo HTML osea la imagen. Saludos y revisa el manual
__________________ DelirioLinux.. Software Libre y tecnología.. php también.. Saludos :arriba: Usuario Linux #198486 y Ubuntu #12791 Gutsy Gibbon |
| ||||
Nunca le respondieron su primera duda:
Código:
Nota: Vease que el formulario debe llevar esta estructura, basicamente lo que necesitamos es que tenga el nombre de (form):<script languaje="Javascript"> <!-- function Smile(texto){ document.form.mensaje.value = document.form.mensaje.value + texto; } // --> </script>
Código:
Despues creamos el textarea con el nombre de (mensaje),, ¿Porque?,, Asi hemos declarado los nombres en el js:<form method=post name=form action=ENVIAR.php>
Código:
Ahora, insertas los smilies con un link mas o menos asi:<textarea name=mensaje></textarea>
Código:
Ahora bien,, donde procesas tu formulario para enviarlo a tu BD mysql, o bien a tu TXT debes insertar este codigo para que lo envie a manera de cod (HTML):<a href="javascript:Smile('[enojado]')"><img src="enojado.gif" border="0"></a> Código PHP: Salu2 ![]() entonces debes poner los smilies
__________________ |