When a user writes something like this:

card(s)

it converts the "s)" into a smiley. I think the module should check to see if there is a blank space before the smiley before converting it. If there is a blank space before, it's a smiley, if not, it probably isn't.

It would be good to also check the character after the smiley. It should be a space or a punctuation mark like a period, comma, exclamation point, or question mark. Any other character would mean that it's probably not a smiley.