<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
That's the wrong MIME type for XHTML.
Your problem is here:
Code:
$post = str_replace($tbefore, $tafter, $p['message']);
Say you have replacements:
Code:
+---------+--------+
| tbefore | tafter |
+---------+--------+
| :) | smile |
| :( | frown |
+---------+--------+
and a post (stored in $p['message']):
Code:
Lorem :) ipsum dolor :( sit amet...
That line will be executed once for each replacement. So, first of all, it takes $p['message'], replaces each :) with smile:
Code:
Lorem smile ipsum dolor :( sit amet...
... and stores the result in $post. Then, it takes $p['message'] again (which is unmodified: remember, the result of the last loop was stored in $post), and applies the next replacement:
Code:
Lorem :) ipsum dolor frown sit amet...
You want to store the results back into $p['message']:
Code:
$p['message'] = str_replace($tbefore, $tafter, $p['message']);
Bookmarks