Дак примерно так и делаю.
1 функция - типа бонус.. для вывода всех смайлов
2 функция - получение массива смайлов
3 функция - замена текста на смайлы
А яваскрипт это тоже бонус. Чтоб при нажатии на смайл, его код вставлялся в текстовое поле.
Редактирование, добавление новых смайлов делается через редактирование файла smiles.txt
На каждый смайл можно прописать любое колличество разных кодов.
Например можно на один смайл, повесить все эти коды одновременно :-), )),

, :smile: