Foros del Web » Programando para Internet » PHP »

insertar emoticones en libro de visitas

Estas en el tema de insertar emoticones en libro de visitas en el foro de PHP en Foros del Web. hola amigos pues mi consulta es la siguiente he echo un libro de visitas, pues lo que quiero es ponerle emoticones al momento de que ...
  #1 (permalink)  
Antiguo 01/06/2004, 15:18
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 14 años, 2 meses
Puntos: 0
insertar emoticones en libro de visitas

hola amigos pues mi consulta es la siguiente he echo un libro de visitas,
pues lo que quiero es ponerle emoticones al momento de que el usuario deje su firma en el libro.

Estuve viendo algunos mensajes que dejaron los usuarios aca en el foro, pues estuve haciendo unas pruebas con la funcion str_replace() y la verdad que va muy bien, pues al igual tengo varias dudas que quisiera que me la dejen bien claro.

Yo tengo un formulario parecido al que tienen ustedes donde el usuario ingresa sus datos y al costado sus emoticones. Lo que no concibo como utilizar el str_replace() o mejor dicho en que parte coloco esa funcion ya que aparte tengo el codigo que inserta los datos a la base de datos y otra pagina que se llama ver_firmas.php osea en total manejo 3 paginas.
Ya que en el caso de ustedes cuando un usuario ingresa su mensaje y yo paso el mouse por el emoticon me sale la manito de un link y cuando hago click me inserta el emoticon en el contenido del mensaje como hago esto.

Por otro lado ese procedimiento es igual para lo que es dar negrita subrayado etc etc.

Un saludo Juanpro
Agradezco de antemano
  #2 (permalink)  
Antiguo 01/06/2004, 15:36
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 13 años, 8 meses
Puntos: 406
cuando quieres implementar emoticons y algun codigo tipo BBcode (de phpbb2) es mejor que lo insertes tal como esta en tu db ejemplo:

Código:
[ b ]este es un texto en negritas y con una carateo[ /b ] :)
claro sin los espacios ^^ y en donde vas a mostrar tus textos utilizar la funcion str_replace para que le des el formato al texto o mostrar un careteo con codigo HTML, pero ojo, es mejor que cuando guardes tu texto en tu db quites o desactives todo codigo html y solo quede tu codigo que creaste
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #3 (permalink)  
Antiguo 01/06/2004, 18:09
 
Fecha de Ingreso: septiembre-2003
Ubicación: lima
Mensajes: 378
Antigüedad: 14 años, 2 meses
Puntos: 0
Entonces seria en ver_firmas.php ya que ahi hago la consulta y muestro los resultados
de esta forma :
$contenido=row['contenido'];
depues un Echo

Y ahora con lo que tu me dices lo pondria asi:

$contenido=str_replace("(:",row['contenido'],"<img src=adios.gif>");
es asi como debo hacerlo
Si es asi te cuento que no me sale mejor dicho sale pero solo la imagen que especifico ahi y tampoco sale en el formulario para que los usuarios puedan insertarlos

Haber si me explicas un poco mas detallado
Disculpa por insistencia
Saludos Juanpro
  #4 (permalink)  
Antiguo 01/06/2004, 18:29
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Mira aquí

Mira este fue un POST que hace un tiempo estuvo dando quehacer en el Foro. Estuvo muy bueno y de ahí saqué el resultado de mi Libro de Visitas. http://www.forosdelweb.com/showthrea...hlight=reynier

Salu2
__________________
Ing. Reynier Pérez Mira
  #5 (permalink)  
Antiguo 01/06/2004, 18:52
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 14 años, 5 meses
Puntos: 2
Espero te sirva, mas alla de lo que tu pides pero de hecho que te servira !! (Y)
http://www.php-hispano.net/archivos/Manuales/126
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #6 (permalink)  
Antiguo 01/06/2004, 23:23
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Excelente

Gerald excelente. Pero me he realizado porque me quedaban algunas dudas con el código original. Ahí les dejo ambos códigos, el original y el mío modificado para que los revisen y me digan si el equivocado soy yo.
Original
Código PHP:
<?php
function bbcodes ($text) {
    
// Links para URLs. Formato: [web=http://php-hispano.net]PHPHispano[/web]
    
$finaltext eregi_replace("\\[web=([^\\[]*)\\]([^\\[]*)\\[/web\\]""<a target=\"_blank\" href=\"\\1\">\\2</a>"$text);
    
// Si no ponen atributos en [web]. Formato: [web]http://PHPHispano.net[/web]
    
$finaltext eregi_replace("\\[web\\]([^\\[]*)\\[/web\\]","<a target=\"_blank\" href=\"\\1\">\\1</a>",$finaltext);
    
/* Este bucle lo hacemos por si ejempo usan u i y b en un solo texto :D */
    
while($bucle 5) {
        
// Para poner linea al texto. Formato: [u]PHPHispano[/u]
        
$finaltext eregi_replace("\\[u\\]([^\\[]*)\\[/u\\]","<u>\\1</u>"$finaltext);
        
// Para poner el text en italic. Formato: [i]PHPHispano[/i]
        
$finaltext eregi_replace("\\[i\\]([^\\[]*)\\[/i\\]","<em>\\1</em>"$finaltext);
        
// Para poner texto en negrita Formato: [b]PHPHispano[/b]
        
$finaltext eregi_replace("\\[b\\]([^\\[]*)\\[/b\\]","<strong>\\1</strong>"$finaltext);
        
$bucle++;
    }
    
// Para centralizar un text. Formato: [center]PHPHispano[/center]
    
$finaltext eregi_replace("\\[center\\]([^\\[]*)\\[/center\\]","<center>\\1</center>"$finaltext);
    
// Pone el texto como una cita. Formato: [cita]La calidad nunca es un accidente; siempre es el resultado de un esfuerzo de la inteligencia[/cita]
    
$finaltext eregi_replace("\\[cita\\]([^\\[]*)\\[/cita\\]","\n<div class=\"css_title\">Cita\n<div class=\"css\">\\1</div></div>"$finaltext);
// Sacamos el color al codigo PHP. Formato: [ php ]codigo[/ php ]
preg_match_all ("/(\[)(php)(])(.*)(\[\/php\])/iU"$finaltext$l);
    for (
$i=0$icount($l[0]); $i++) { $finaltext str_replace($l[0][$i],phpcojecolor($l[4][$i]),$finaltext); }
    
// Retorno como queda el bbcode.
    
return $finaltext;
}
?>
<?
function phpcojecolor ($php) {
    
ob_start(); // Abirmos el OB
    
highlight_string($php); // Tiramos el codigo coloreado
    
$cfinal ob_get_contents(); // COjo el codigo que tire despues de haber abierto el ob
    
ob_end_clean(); // Borro el ob para que no se vea en la web
    // A continuación hemos hecho uso de una función realizada por Anonimo dueño de la web [url]www.pastebin.com[/url]. Sirve para mostrar información sobre las funciones... [Proximas 7 lineas]
        
$keycol=ini_get("highlight.keyword");
        
$manual="http://www.php.net/manual-lookup.php?lang=es&amp;pattern=";
        
$cfinal=preg_replace(
            
'{([\w_]+)(\s*</font>)'.
            
'(\s*<font\s+color="'.$keycol.'">\s*\()}m',
            
'<a href="'.$manual.'$1" title="Ayuda en PHP.net sobre $1" target="_blank">$1</a>$2$3',
    
$cfinal);
    return 
"\n<div class=\"css_title\">C&oacute;digo PHP:\n<div class=\"css\">".$cfinal."</div></div>"// Retorno el codigo PHP Coloreado
}
?>
y este es el que he creado yo. Jeje le he agregado unas cosas para alinear a la derecha, a la izquierda, y justificar. Ahora lo que necesito que me ayuden a realizar porque no se como es cambiar la fuente, el color y el tamaño al igual que lo hace aquí FDW.
modificado
Código PHP:
<?
# Mod: BBCode
 
function BBCode($text){
  
# Links para URLs. Formato: [web=http://www.miweb.com]Mi web[/web]
  
$bbcode eregi_replace("\\[web=([^\\[]*)\\]([^\\[]*)\\[/web\\]""<a target=\"_blank\" href=\"\\1\">\\2</a>"$text);
  
# Si no ponen atributos en [web]. Formato: [web]http://www.miweb.com[/web]
  
$bbcode eregi_replace("\\[web\\]([^\\[]*)\\[/web\\]","<a target=\"_blank\" href=\"\\1\">\\1</a>",$text);
  
# Bucle por si usan [B][U][I] en el mismo texto
  
while($bucle<5) {
   
# Para poner linea al texto. Formato: [U]MiWeb[/U]
   
$bbcode eregi_replace("\\[u\\]([^\\[]*)\\[/u\\]","<u>\\1</u>",$text);
   
# Para poner el text en italic. Formato: [I]MiWeb[/I]
   
$bbcode eregi_replace("\\[i\\]([^\\[]*)\\[/i\\]","<em>\\1</em>",$text);
   
# Para poner texto en negrita Formato: [B]MiWeb[/B]
   
$bbcode eregi_replace("\\[b\\]([^\\[]*)\\[/b\\]","<strong>\\1</strong>",$text);
   
$bucle++;
  }
   
# Para centralizar un texto. Formato: [centro] [/centro]
   
$bbcode eregi_replace("\\[center\\]([^\\[]*)\\[/center\\]","<div align=center>\\1</div>"$text);
   
# Para centralizar un texto. Formato: [derecha] [/derecha]
   
$bbcode eregi_replace("\\[right\\]([^\\[]*)\\[/right\\]","<div align=right>\\1</div>"$text);
   
# Para centralizar un texto. Formato: [izquierda] [/izquierda]
   
$bbcode eregi_replace("\\[left\\]([^\\[]*)\\[/left\\]","<div align=left>\\1</div>"$text);
   
# Para centralizar un texto. Formato: [justificado] [/justificado]
   
$bbcode eregi_replace("\\[justify\\]([^\\[]*)\\[/justify\\]","<div align=justify>\\1</div>"$text);
   
# Pone el texto como una cita. Formato: [CITA] [/CITA]
   
$bbcode eregi_replace("\\[cita\\]([^\\[]*)\\[/cita\\]","\n<div class=\"css_title\">Cita\n<div class=\"css\">\\1</div></div>"$text);
   
# Sacamos el color al codigo PHP. Formato: [ PHP ] [ /PHP ]
    
preg_match_all ("/(\[)(php)(])(.*)(\[\/php\])/iU"$text$l);
   for(
$i=0$icount($l[0]); $i++){
    
$bbcode str_replace($l[0][$i],PHPFormat($l[4][$i]),$text);
   }
   return 
$bbcode;
  }
?>
<?
 
#Funcion para código PHP
 
function PHPFormat($php) {
  
ob_start();
  
highlight_string($php);
  
$final ob_get_contents();
  
ob_end_clean();
  
$keycol=ini_get("highlight.keyword");
  
$manual="http://www.php.net/manual-lookup.php?lang=es&amp;pattern=";
  
$final=preg_replace('{([\w_]+)(\s*</font>)'.
                      
'(\s*<font\s+color="'.$keycol.'">\s*\()}m',
                      
'<a href="'.$manual.'$1" title="Ayuda en PHP.net sobre $1" target="_blank">$1</a>$2$3',
  
$final);
  return 
"\n<div class=\"css_title\">Código PHP:\n<div class=\"css\">".$final."</div></div>";
 }
?>
Salu2
__________________
Ing. Reynier Pérez Mira

Última edición por Reynier; 01/06/2004 a las 23:33
  #7 (permalink)  
Antiguo 02/06/2004, 15:02
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 14 años, 5 meses
Puntos: 2
Amigo Reynier

Demas no estaria que revisaras los comentarios de los usuarios acerca de ese codigo, mas abajo Omar en el enlace que te di, corrige el codigo, para quede mucho mejor .
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #8 (permalink)  
Antiguo 02/06/2004, 20:44
Avatar de Reynier  
Fecha de Ingreso: noviembre-2002
Ubicación: Por ahí en algún sitio
Mensajes: 1.844
Antigüedad: 15 años
Puntos: 1
Ok. Gracias Gerald los revisaré de a lleno
__________________
Ing. Reynier Pérez Mira
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:16.