Foros del Web » Programando para Internet » PHP »

Smiles BBCODE php

Estas en el tema de Smiles BBCODE php en el foro de PHP en Foros del Web. Hola, tengo un espacio en mi web para que pongan comentarios, http://mrb.laweb.es, y ahora quiero que por ejemplo cuando pongan en texto la carita :) ...
  #1 (permalink)  
Antiguo 24/02/2008, 11:39
(Desactivado)
 
Fecha de Ingreso: febrero-2008
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 350
Antigüedad: 16 años, 8 meses
Puntos: 5
Pregunta Smiles BBCODE php

Hola, tengo un espacio en mi web para que pongan comentarios, http://mrb.laweb.es, y ahora quiero que por ejemplo cuando pongan en texto la carita :) que aparezca esa cara como aca en el foro


Muchas gracias...


Como lo puedo hacer?

un script en php?
  #2 (permalink)  
Antiguo 24/02/2008, 12:02
Avatar de Carlojas  
Fecha de Ingreso: junio-2007
Ubicación: Shikasta
Mensajes: 1.272
Antigüedad: 17 años, 5 meses
Puntos: 49
Re: Smiles BBCODE php

Mira este post Reemplazar texto por emoticon

Saludos.
  #3 (permalink)  
Antiguo 25/02/2008, 09:11
(Desactivado)
 
Fecha de Ingreso: febrero-2008
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 350
Antigüedad: 16 años, 8 meses
Puntos: 5
Exclamación Re: Smiles BBCODE php

Probé poniendo el siguiente código:

Código PHP:
<?
function mostrar_caritas($texto) {

$texto str_replace (":)""<img src='carita_feliz.gif'>"$texto);  
$texto str_replace (":(""<img src='carita_triste.gif'>"$texto);  
$texto str_replace (":O""<img src='carita_sorprendido.gif'>"$texto);  

return 
$texto;
}

echo 
mostrar_caritas($texto);
?>


Pero no paso nada :S
  #4 (permalink)  
Antiguo 25/02/2008, 09:18
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: Smiles BBCODE php

Haz verificado en el código fuente que se este reemplazando las caritas?, es decir en tu código html ¿ves el resultado? Si así es, es probable que tu problema este en las rutas a las caritas.

Saludos.
  #5 (permalink)  
Antiguo 25/02/2008, 14:28
(Desactivado)
 
Fecha de Ingreso: febrero-2008
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 350
Antigüedad: 16 años, 8 meses
Puntos: 5
Re: Smiles BBCODE php

El resultado no lo veo visualizado :S....


Este es la página en donde quiero poner la función:

Código HTML:
<html>
<head>
<title>! MRB W3b En construcci&oacute;n, deja tu mensaje de pues de la se&ntilde;ar VIPPPPPP :P</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css">
<!--
body {
	background-color: #FFFFFF;
}
.Estilo1 {
	font-family: Arial;
	font-size: 12px;
	border:#000000;
}
.Estilo3 {font-size: 12px}
.Estilo4 {font-family: Arial}
-->
</style>
<meta name="keywords" content="servicios,utilidades,webmaster,free,mrb,! mrb,w3b,beta, servicios y utilidades para webmaster, relacionado,php,include,manuales,juegos,espacio de imagenes,hosting,html,asp">
</head>
<body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0">
<table width="100%" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td height="129" background="cabezera.png">&nbsp;</td>
  </tr>
</table>

<script language="JavaScript">
<!--
function caritas(Which){
document.mi_formulario.mensaje.value = document.mi_formulario.mensaje.value + Which;
}
// -->
</script>
  <table width="100%" border="0" cellpadding="0" cellspacing="0">
  <tr>
    <td width="11%" valign="top"><?php include("includes/menu.php"); ?><br></td>
    <td width="89%" align="left"><center>
	
	
	<script type="text/javascript"><!--
google_ad_client = "pub-2776885743208555";
/* 728x90, creado 22/02/08 */
google_ad_slot = "4088465519";
google_ad_width = 728;
google_ad_height = 90;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>






<br/>
<span class="Estilo1">No se aceptarán más comentarios ofensivos</span>
    </center>
    <br>
      <table width="200" border="0" align="center" cellpadding="0" cellspacing="0">
  <tr>
    <td><?php
function expresiones($mensaje) { 
$mensaje = str_replace(":)","<img src='smiles/smile_regular.gif'>", $mensaje); 
return $mensaje; 
}
$mostrar = 100; 

	$host = "localhost"; //poner aquí el host de MySQL del servidor que useis. suele ser localhost
	$user = "root"; //poner aqui el nombre de usuario
	$pass = "***"; //aqui el pass
	$dbname = "comentarios";

//---------------------------------------------------

$conecta = mysql_connect($host,$user,$pass); //conecta a la db
mysql_select_db($dbname,$conecta); //selecciona la tuya

$query = "select * from comentarios order by id desc";
$resp = mysql_query($query);
while ($datos = mysql_fetch_array($resp)) {
if ($mostrar > 0) {
echo "
<font face=arial size=2>Nombre: $datos[nombre]<br>
Email: $datos[email]<br>
Web: $datos[web]<br>
Comentarios:<br>
$datos[comentarios]
</font><br>
<hr width=281 noshade>";
$mostrar--;
}
}
mysql_query($query); //insertamos el dato
mysql_close($conecta); //cierra la conexion

?></td>
  </tr>
  <tr>
    <td><form name="form1" method="post" action="insertar.php">
      <table width="281" border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td width="75" valign="top">Nombre:</td>
          <td width="206"><label>
            <input name="nombre" type="text" class="Estilo3" id="nombre">
          </label></td>
        </tr>
        <tr>
          <td valign="top">Email:</td>
          <td><label>
            <input name="email" type="text" class="Estilo3" id="email">
          </label></td>
        </tr>
        <tr>
          <td valign="top">Web:</td>
          <td><label>
            <input name="web" type="text" class="Estilo3" id="web">
          </label></td>
        </tr>
        <tr>
          <td valign="top">Comentarios:</td>
          <td><textarea name="comentarios" class="Estilo3" id="comentarios"></textarea></td>
        </tr>
        <tr>
          <td valign="top"><label>
            <input name="button" type="reset" class="Estilo3" id="button" value="Restablecer">
          </label></td>
          <td><label>
            <input name="Enviar" type="submit" class="Estilo3" id="Enviar" value="Enviar">
          </label></td>
        </tr>
      </table>
        </form> </td>
  </tr>
</table>
      <center><!--- publicidad ---><table width="219" border="1" cellpadding="0" cellspacing="0" bordercolor="#000000">
  <tr>
    <td align="center" valign="top" bordercolor="#FFFFFF" bgcolor="#CCCCCC">
      <script type="text/javascript"><!--
google_ad_client = "pub-2776885743208555";
/* 468x60, creado 22/02/08 */
google_ad_slot = "4915082777";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script>
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></td>
  </tr>
</table><!--- publicidad ---><br/>
<!--- buscador --->
<!-- SiteSearch Google -->
<form method="get" action="http://www.google.com/custom" target="_top">
<table border="1" cellpadding="0" cellspacing="0" bordercolor="#000000" bgcolor="#ffffff">
<tr><td height="32" align="left" valign="top" nowrap="nowrap" bordercolor="#FFFFFF">
<a href="http://www.google.com/">
<img src="http://www.google.com/logos/Logo_25wht.gif" border="0" alt="Google" align="middle"></img></a>
<br/>
<input type="hidden" name="domains" value="Mrb.LaWeb.es"></input>
<label for="sbi" style="display: none">Introduzca los términos de búsqueda.</label>
<input type="text" name="q" size="31" maxlength="255" value="" id="sbi"></input>
<label for="sbb" style="display: none">Envíe el formulario de búsqueda</label>
<input type="submit" name="sa" value="Buscar" id="sbb"></input>
</td></tr>
<tr>
<td nowrap="nowrap" bordercolor="#FFFFFF">
<table>
<tr>
<td>
<input type="radio" name="sitesearch" value="" checked id="ss0">
</input>
<span class="Estilo4">
<span class="Estilo3">
<label for="ss0" title="Buscar en la web"><font color="black">Web</font></label>
</span> </span></td>
<td>
<input type="radio" name="sitesearch" value="Mrb.LaWeb.es" id="ss1">
</input>
<span class="Estilo4">
<span class="Estilo3">
<label for="ss1" title="Buscar Mrb.LaWeb.es"><font color="black">Mrb.LaWeb.es</font></label>
</span> </span></td>
</tr>
</table>
<input type="hidden" name="client" value="pub-2776885743208555"></input>
<input type="hidden" name="forid" value="1"></input>
<input type="hidden" name="ie" value="ISO-8859-1"></input>
<input type="hidden" name="oe" value="ISO-8859-1"></input>
<input type="hidden" name="safe" value="active"></input>
<input type="hidden" name="cof" value="GALT:#008000;GL:1;DIV:#336699;VLC:663399;AH:center;BGC:FFFFFF;LBGC:336699;ALC:0000FF;LC:0000FF;T:000000;GFNT:0000FF;GIMP:0000FF;LH:50;LW:393;L:http://mrb.laweb.es/cabezera.png;S:http://mrb.laweb.es;FORID:1"></input>
<input type="hidden" name="hl" value="es"></input>
</td></tr></table>
</form>
<!-- SiteSearch Google --></center></td>
  </tr>
</table>
</body>
</html> 
Y este es el código de las caritas:

Código PHP:
<?
function mostrar_caritas($texto) {

$texto str_replace (":)""<img src='smile_regular.gif'>"$texto);   

return 
$texto;
}

echo 
mostrar_caritas($texto);
?>

Cómo los fuciono adecuadamente para que funcione?


Saludos!
  #6 (permalink)  
Antiguo 25/02/2008, 15:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años, 5 meses
Puntos: 2135
Re: Smiles BBCODE php

En tu while, la parte donde esta $datos['comentarios'] debes de reemplazarla por la función y poner ahí el resultado, algo así:
Código PHP:
while ($datos mysql_fetch_array($resp)) {
if (
$mostrar 0) {
$comentarios mostrar_caritas$datos['comentarios'] );
echo 
"
<font face=arial size=2>Nombre: $datos[nombre]<br>
Email: $datos[email]<br>
Web: $datos[web]<br>
Comentarios:<br>
$comentarios
</font><br>
<hr width=281 noshade>"
;
$mostrar--;
}

Saludos.
  #7 (permalink)  
Antiguo 26/02/2008, 10:20
(Desactivado)
 
Fecha de Ingreso: febrero-2008
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 350
Antigüedad: 16 años, 8 meses
Puntos: 5
Re: Smiles BBCODE php

Código PHP:
<? 
function mostrar_caritas($texto) { 

$texto str_replace (":)""<img src='smile_regular.gif'>"$texto);    

return 
$texto
// linea 80

echo mostrar_caritas($texto); 
?><?php
function expresiones($mensaje) { 
$mensaje str_replace(":)","<img src='smiles/smile_regular.gif'>"$mensaje); 
return 
$mensaje
}
$mostrar 100

    
$host "localhost"//poner aquí el host de MySQL del servidor que useis. suele ser localhost
    
$user "root"//poner aqui el nombre de usuario
    
$pass "4852150"//aqui el pass
    
$dbname "comentarios";

//---------------------------------------------------

$conecta mysql_connect($host,$user,$pass); //conecta a la db
mysql_select_db($dbname,$conecta); //selecciona la tuya

$query "select * from comentarios order by id desc";
$resp mysql_query($query);
while (
$datos mysql_fetch_array($resp)) {
if (
$mostrar 0) {
$comentarios mostrar_caritas$datos['comentarios'] );
echo 
"
<font face=arial size=2>Nombre: $datos[nombre]<br>
Email: $datos[email]<br>
Web: $datos[web]<br>
Comentarios:<br>
$datos[comentarios]
</font><br>
<hr width=281 noshade>"
;
$mostrar--;
}
}
mysql_query($query); //insertamos el dato
mysql_close($conecta); //cierra la conexion

?>

Me quedo algo asi y me da error en linea 80
  #8 (permalink)  
Antiguo 27/02/2008, 07:56
(Desactivado)
 
Fecha de Ingreso: febrero-2008
Ubicación: Argentina, Santa Fe, Rosario
Mensajes: 350
Antigüedad: 16 años, 8 meses
Puntos: 5
Re: Smiles BBCODE php

Muchissssimas gracias GatorV!!!!!!!!!!!!!!!!!


Sos un genio!!!


Mirá como me quedo: http://mrb.laweb.es (si es que no bloque el firewall)



Saludos!
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 21:14.