Somewhere along the way, it seems that WordPress started requiring a space or line break after a smiley key in order for the key to be properly replaced with the smiley image.
For example:
:lol: , said the hyena.
instead of:
:lol:, said the hyena.
The first has a space after the ": l o l :" key, where the second does not.
I probably could have dug through the WP code and found where to change this, but the new behavior doesn't really bother me and I only had a couple of places where I needed to fix this.
Here is sample SQL1 to see if you have places in your database that need fixing:
SELECT *
FROM wp_posts
WHERE post_content LIKE '%:,%'
SELECT *
FROM wp_posts
WHERE post_content LIKE '%:,%'
etc.
And here is the SQL to fix it:
UPDATE wp_posts
SET post_content =
REPLACE(post_content, ':,', ': ,');
UPDATE wp_posts
SET post_content =
REPLACE(post_content, ':.', ': .');
etc.
Of course, you want to make sure you back up your database first before making sweeping changes like this. I screwed up the syntax myself and had to restore my posts table from my nightly backup.
It happens. 🙂
- This all assumes the standard 'wp_' prefix for your database tables. [back]