>>703なんか色々おかしい
なんで再帰みたいなことしてるのか
elseでreturnはしないのかとか色々疑問はあるけど

function h($data) {
return htmlspecialchars($data, ENT_QUOTES);
}

$post = array_map('h', $_POST);
でいいのでは