I just finished writing my Smiley Parser, and it is really strict.
if I type sahaflwhaglsdg:)liahgfkhal
That smiley in the middle will parse
alternatively
if I put a angry smiley like > : (
it puts > (sad smiley)
$smilies=array(
':)' => "<img src='img/smiley/smile.gif' alt=':)' />",
'=)' => "<img src='img/smiley/smile.gif' alt='=)' />",
'=]' => "<img src='img/smiley/smile.gif' alt='=]' />",
':(' => "<img src='img/smiley/sad.gif' alt=':(' />",
'=(' => "<img src='img/smiley/sad.gif' alt='=(' />",
'=[' => "<img src='img/smiley/sad.gif' alt='=[' />",
':S' => "<img src='img/smiley/confused.gif' alt=':S' />",
'=S' => "<img src='img/smiley/confused.gif' alt='=S' />",
'8)' => "<img src='img/smiley/cool.gif' alt='8)' />",
':,(' => "<img src='img/smiley/cry.gif' alt=':,(' />",
':drool:' => "<img src='img/smiley/drool.gif' alt='Drool' />",
':happy:' => "<img src='img/smiley/happy.gif' alt='Happy' />",
'>:/' => "<img src='img/smiley/mad.gif' alt='>:/' />",
'>=/' => "<img src='img/smiley/mad.gif' alt='>=/' />",
'>:(' => "<img src='img/smiley/mad.gif' alt='>:(' />",
'>=(' => "<img src='img/smiley/mad.gif' alt='>=(' />",
'=_=' => "<img src='img/smiley/sleepy.gif' alt='=_=' />",
':O' => "<img src='img/smiley/surprised.gif' alt=':O' />",
'=O' => "<img src='img/smiley/surprised.gif' alt='=O' />",
':P' => "<img src='img/smiley/tongue.gif' alt=':P' />",
'=P' => "<img src='img/smiley/tongue.gif' alt='=P' />",
':D' => "<img src='img/smiley/grin.gif' alt=':D' />",
'=D' => "<img src='img/smiley/grin.gif' alt='=D' />"
);
...
$entry=str_replace(array_keys($smilies), array_values($smilies), $entry); //Parse any available Smileys