Не отрабатывает htmlspecialchars php?
скрипт все равно можно вывести
в чем может быть проблема?
Наверное в том, что ты не понимаешь что такое HTML и что делает htmlspecialchars()?
Что, по-твоему, эта функция должна делать, как не выводить твой скрипт? Кидаться на него с кинжалом и криками Аллах Акбар?

Прочти внимательно в документации, что делает эта функция, там все написано, с примерами. 
Ну и надо на базовом уровне понимать HTML - что такое теги, сущности, спецсимволы.
Во первых, как заметил Adamos, следите за именованием переменных, $seacrh это конечно сильно...
Во вторых - но скрипт все равно можно вывестида, можно вывести, но нельзя выполнить, о чем вам справедливо заметил FanatPHP, почувствуйте разницу. 

Вообще, все плохо. Для очистки данных от тегов есть strip_tags(), но вы почему то упорно тупите и не читаете документацию и не пользуетесь поиском из принципа.