Foros del Web » Programando para Internet » PHP »

vuelvo a insistir smilies en post de mi foro

Estas en el tema de vuelvo a insistir smilies en post de mi foro en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 17/05/2003, 17:51
 
Fecha de Ingreso: mayo-2003
Mensajes: 13
Antigüedad: 20 años, 11 meses
Puntos: 0
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
  #2 (permalink)  
Antiguo 17/05/2003, 18:38
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
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.
  #3 (permalink)  
Antiguo 17/05/2003, 19:27
 
Fecha de Ingreso: mayo-2003
Mensajes: 13
Antigüedad: 20 años, 11 meses
Puntos: 0
/*<?
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\">&nbsp;</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
  #4 (permalink)  
Antiguo 17/05/2003, 20:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
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.
  #5 (permalink)  
Antiguo 17/05/2003, 20:11
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 21 años, 5 meses
Puntos: 1
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
  #6 (permalink)  
Antiguo 18/05/2003, 04:15
 
Fecha de Ingreso: mayo-2003
Mensajes: 13
Antigüedad: 20 años, 11 meses
Puntos: 0
gracias! lo probaré luego y os cuento;) salu2
  #7 (permalink)  
Antiguo 18/05/2003, 07:35
Avatar de camargo  
Fecha de Ingreso: abril-2002
Ubicación: Kerétaro, Méjiko
Mensajes: 1.045
Antigüedad: 22 años
Puntos: 2
Nunca le respondieron su primera duda:

Código:
<script languaje="Javascript">
<!--
function Smile(texto){
 document.form.mensaje.value = document.form.mensaje.value + texto;
}
// -->
</script>
Nota: Vease que el formulario debe llevar esta estructura, basicamente lo que necesitamos es que tenga el nombre de (form):

Código:
<form method=post name=form action=ENVIAR.php>
Despues creamos el textarea con el nombre de (mensaje),, ¿Porque?,, Asi hemos declarado los nombres en el js:

Código:
<textarea name=mensaje></textarea>
Ahora, insertas los smilies con un link mas o menos asi:

Código:
<a href="javascript:Smile('[enojado]')"><img src="enojado.gif" border="0"></a>
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):

Código PHP:
$mensaje str_replace("[enojado]","<img src=\"enojado.gif\">",$mensaje); 
Creo que ya esta mas claro que el agua ;)

Salu2

entonces debes poner los smilies
__________________
http://www.chorcha.com
  #8 (permalink)  
Antiguo 18/05/2003, 08:13
 
Fecha de Ingreso: mayo-2003
Mensajes: 13
Antigüedad: 20 años, 11 meses
Puntos: 0
muxisimas gracias de nuevo sois un peazo foro q resolveis todas las dudas:) un saludo y ya os contaré si logro que me funcione.
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.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:07.