Ik heb 't script van Tuinstoel gebruikt om smiley-codes te vervangen door de <IMG>-tags en om dan de string weer te return'en. Ik heb 't zo(zie hieronder). (dit lijkt veel op 't origineel van Tuinstoel, ik heb 't iets aangepast)
Toch werkt 't niet, het lijkt wel alsof de gehele functie ReplaceSmilies wordt overgeslagen. in de uiteindelijke $Message staat namelijk nog steeds de code bijvoorbeeld, ipv het plaatje met locatie <IMG SRC="images/smile/smile.gif">
Ik heb Tuinstoel al gepm'd, aangezien hij de auteur is, maar hij zie tde fout ook niet.
// starten v/d fucntie ReplaceSmilies, het vervangen van text door smilies.
function ReplaceSmilies($Message)
{
// map waarin de smilies staan...
$cDir = 'images/smile';
// array met de smilie codes.
$cCodes = array('>:O','(h)',';(','>|',':S','>:|',';d',':)',':d',':@',':x',':(',':o',':p',';)');
// wat het moet worden
$cSmiles = array('angry.gif','cool.gif','cry.gif','devious.gif','erm.gif','evil.gif','grin.gif','happy.gif','laugh.gif','mad.gif','quiet.gif','sad.gif','shocked.gif','tongue.gif','wink.gif');
$cAantal = count($cCodes);
for($i=0;$i<$cAantal;$i++)
{
// vervangen van de smilies uit de 1e array.
$Message = str_replace($cCodes[$i],'<IMG SRC="'.$cDir.'/'.$cSmiles[$i].'" WIDTH="16px" BORDER="0px">',$Message);
}
return $Message;
}
$Message= ReplaceSmilies($Message);
// starten v/d fucntie ReplaceSmilies, het vervangen van text door smilies.
@Ultimatum: Hoe bedoel je, roep het zo aan? De smileys worden eerst vervangen, vervolgens weer opgeslagen in $Message en $Message wordt dan weggeschreven naar een textfile, zoals dit:(ik ben bezig met MySQL om een DB te maken, zal een stuk makkelijker zijn)
We waren namelijk tot de conclusie gekomen, dat $i kleiner blijft dan $cAantal, dus dat misschien niet alle smiley's werden meegenomen. 't script werkte. Toen ik 't zonder de = deed, dus alleen $i<$cAantal werkte 't ook. De fout heeft waarschijnlijk in de computer gezeten.