Я хочу закодировать (htmlentities) или отключить все теги, кроме тегов <a>.
htmlentities
<a>
Как этого добиться?
После использования HTML-сущностей преобразуйте ссылки обратно, используя RegExp:
preg_replace('/<(\/?a(?:|\s[\S\s]+?))>/i', '<$1>', $string);
Если вы хотите удалить другие теги, используйте:
strip_tags($string, '<a>');