Lo de LEER y no al ENVIAR quiere decir que..... supongamos que utilizas base de datos. Pues en el momento de guardar los datos, lo guardas normal, es una vez al sacar esos datos para mostrárselos al usuario cuando tienes que hacer dicho reemplazo. Si lo guardas en un .txt también, si lo pasas por un formulario también... siempre al memorizar el dato lo memorizas normal..
es decir: "Hola me llamo David ;)"
Y en el momento que se lo tengas que mostrar al usuario, pues haces ese proceso de str_replace() para que él vea:
"Hola me llamo David
"
------------
Para aplicarlo a diversas variables lo más cómodo es hacer una función. Una función sirve para programar una serie de órdenes o acciones que tenga que hacer sobre una variable. Así es más fácil de aplicar.
Ejemplo práctico
Hacemos una función:
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;
}
Ahora cada vez que hagamos
mostrar_caritas() sobre algo, pues ya hace esos comandos que reemplazan unos símbolos por un smiley.
Código PHP:
echo mostrar_caritas($texto);
echo mostrar_caritas($texto2);
suerte