Molti topic richiedono info sul funzionamento delle 'faccine' e allora scrivo una piccola pillola semplice semplice per spiegarne a grandi linee il funzionamento.
Nella realizzazione di un Guestbook ( libro degli ospiti ), di un Forum o comunque di tutte i moduli di interattività con l'utente può tornare utile l'utilizzo degli 'smiles' o 'emotions'.
Cosa sono le 'emotions' ?
Le 'emotions' non sono altro che faccine o comunque piccole immagini che appaioni vicino a posts o messaggi e servono ad espriemere uno stato d'animo, un parere e quindi espressioni del momento in cui si scrive. Nei forum ormai il loro utilizzo è entrato prepotentemente come una delle componenti di maggior utilizzo e sviluppo, teciniche di gestione sempre più avantzate, ma il loro significato e sostanza non cambia.
Qua sul forum sono queste :
e tante altre
Le componenti HTML
Anzitutto le 'emotions' devono essere inserite nel contesto di una form la quale elaborerà i dati a seconda dello scopo ( che sia un forum o un guestbook poco importa ). Quindi dobbiamo prima creare la form e poi penseremo alle 'emotions'.
Sul codice HTML spero non servano delucidazioni :
codice:
<form action="pagina.php/asp" method="post" name="nomeform">
<textarea name="nomecampo" cols="10" rows="10"></textarea>
<input type="submit" value="Invia">
</form>
Con il codice proposto creaiamo un modulo con una TEXTAREA e un campo di SUBMIT.
Ma come inseriamo le 'emotions' nel testo ? Possiamo nel modo più rudimentale e grezzo suggerire all'utente con che condici crearle, del tipo :-) o :-D e così via. Ma personalmente preferisco qualcosa di più automatizzato e comodo per l'utente. Quindi vorrei fare in modo che l'utente cliccando su una 'emotions' di esempio, faccia 'scrivere' nella textarea il codice di trasformazione. Chiediamo aiuto a JavaScript e dove si vuole si inseriscono le immagini delle 'emotions' in questo modo :
codice:
[img]emotions/smile.gif[/img]
In questo modo, nella form nomeform di questo documento, aumenterà ( grazie al + che non va rimosso ! ) il value del campo nomecampo con ':-)'. Quindi se nella form avremmo questo contenuto :
ciao, come va ?
Dopo il click sull'immagine sarà :
ciao, come va ? :-)
Oppure per automatizzare il tutto una funzione JavaScript del tipo :
codice:
<script language="JavaScript">
function emotions(smilietext) {
opener.document.nomeform.nomecampo.value += smilietext+" ";
}
</script>
Richiamata così :
[img]emotions/smile.gif[/img]
Ora sappiamo come inserire il codice, ma adesso vediamo come trasformare il codice in immagine.
Elaborazione PHP
La pagina a cui verranno inviati via POST i dati del modulo ( nel nostro esempio pagina.php ) dovrà convertire il codice ':-)' in :
[img]emotions/smile.gif[/img]
Per fare ciò utilizziamo la funzione str_replace() di PHP che permette di effettuare un 'replace' tra due stringhe.
Ci creaimo quindi ad hoc una funzione per trasformare e gestire tutte le 'emotions' che vorremo :
codice:
function emotions($testo){
$corretto = str_replace(":-)","<img src=\"emotions/smile.gif\">",$testo);
return $corretto;
}
In questo modo dando 'in pasto' alla funzione emotions un testo, trasformerà tutti le smile ( codici ) in immagini !
codice:
<?
$testo = $_POST['nomecampo'];
echo emotions($testo);
?>
E in ASP ?
In ASP il funzionamento è pressochè identico, cambia la sintassi :
codice:
corretto = Replace(testo, ":-)", "[img]emotions/smile.gif[/img]")
Come avete visto è tutto molto semplice e facilmente gestibile, e naturalemnte potete aggiungere infinite nuove emotions nella funzione.
P.s. Molte faccine le trovate qui 
Per eventuali errori ( sia grammaticali che concettuali ) contattatemi.
Sono ben accette aggiunte o integrazioni !