А почему не вызвать return в конце вашей ОГРОМНОЙ функции? Или вам нужна переменная до завершения рекурсии? Вам нужны промежуточные значения?
Если так то просто добавьте переменную с типом Array вне функции и дописывайте промежуточные значения.
берешь коды смайлов вот от сюда тык (за тебя массив делать не буду ибо я ленивый) и удаляешь например в PHP возьми str_replace в JS по моему просто replace и замени все вхождения на пустую строку)
Я немного не понял зачем вы делаете это средствами PHP если у Apache есть модуль mod_rewrite?
Вот вот замечательные статьи с хабра на эту тему "Как на самом деле работает mod_rewrite. Пособие дл..." и "Ещё немного о mod_rewrite ".
А для того чтобы указывать домашнюю страницу достаточно просто добавить следующие строки в файл .htaccess DirectoryIndex %{DOCUMENT_ROOT}/pages/index.php