If I remove all the "&" characters after parsing the BBCode, how will you post "Testing & Trashing," or how will the board output < or >? Even if that problem is bypassed, there are other problems... in order to detect if a smilie code has a "&" in front of it, regular expressions would have to be used, and there's like 150 different codes that have to be checked... some people have 50 posts per page... you get the idea.