Agregar caritas al sistema

07 de julio de 2005
Valoración del artículo:
El código necesario para agregar expresiones o caritas a nuestro sistema.
Agreguemos expresiones o caritas a nuestro sistema, (foro, tagboard, chat, comentarios ósea cualquier script que queramos que tenga una(s) carita(s) o expresión(es).

Empecemos:

Vamos a usar la función str_replace() de PHP: esta función sustituye tal por tal2 ejemplo:str_replace("carita_loca","<img src=carita_loca.gif>") ósea cambiamos cualquier aparición del texto "carita_loca" por una imagen de la carita loca. Solo es un ejemplo.

Veamos como funciona:

Digamos que tenemos un sistema sea mysql o puro .txt, es indiferente lo importante es cambiar las expresiones de texto por imágenes, cierto. Bien esta es la función:

<?php
function expresiones($mensaje) {
$mensaje = str_replace(":)","<img src= feliz.gif>", $mensaje);
$mensaje = str_replace(":(","<img src=triste.gif>", $mensaje);
$mensaje = str_replace(":P","<img src=lengua.gif>", $mensaje);
return $mensaje;
}
?>

Así sola esta función no hace nada:

Para que muestre las caritas filtramos el resultado de la variable $mensaje así : $mensaje = expresiones($mensaje); Esto le dice al sistema que si dentro de la variable $mensaje encuentra ( ejemplo: :), :P, :(, ) lo cambie por la imagen correspondiente.

Hasta el momento cuando el usuario coloque en nuestro campo name="mensaje": * hola :) * cambiara el :) por la carita correspondiente

Pero vamos mas lejos:

Recordamos que "$mensaje" es el nombre del campo donde pondremos el texto que el sistema cambiara por las caritas y el texto grande o idea o lo que sea que estemos escribiendo. Entonces tenemos el ejemplo de un formulario:

<form name="mi_formulario" action="procesar.php" method="post">
Nombre: <input type="text" name="nombre" size="26">
Mensaje <textarea name="mensaje" cols="58" rows="14" wrap="virtual"><?echo $mensaje;?></textarea>
<input type="submit" name="Submit" value="Publicar">
</form>


Ahora nosotros queremos que al dar un clic en un botón o carita salga :) en el campo name="mensaje" tendremos que hacer esto:

Antes del formulario ponemos esto:

<script language="JavaScript">
<!--
function caritas(Which){
document.mi_formulario.mensaje.value = document.mi_formulario.mensaje.value + Which;
}
// -->
</script>


luego el formulario, ojo con esto mi_formulario es el nombre del formulario y mensaje es el campo donde va a ir las expresiones en texto de las caritas.

Este es el links que va hacer aparecer las caritas en el textarea:
<a href="javascript:caritas(':(')"><img src=triste.gif></a>

Ahora les toca a ustedes inventar.

Compartir en redes sociales

Comentarios
Fueron enviados 3 comentarios al artículo
2 comentarios no revisados
1 comentario revisado:
Por: Loop
20/7/2005
Creo que esta mal usar str_replace(); por las siguientes....

1.- Causa un error de tipo Warning si string a buscar no se encuentra dentro de la cadena.

2.- No siempre se reemplaza.

3.- Es mejor dividir la cadena por palabras mediante explode, contarlas y llevar a cabo un bucle de control interante por cada palabra si al contar la palabra resulta ser menor a X caracteres regresar el valor ANCII a la palabra y verificar si existe un archivo de imagen con el nombre de la palabra convertida a ANCII de esta manera se lleva a cabo el reemplazamiento de smilies perfecto, podrias llevar acabo un conteo sobre los smilies que se han convertido en la cadena, ( no queremos que algún loco se la pase mandando cientos de smilies sin freno mediante la función str_replace(); que cambia una cadena por otra sin tomar encuenta las veces que ésta aparezca en la cadena general ).

¡ Saludos !.

Manuales relacionados
Categorias relacionadas
El autor
Lectura recomendada
Compra este libro en Agapea, la librería urgente a domicilio.
Últimas noticias
Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...