如何清理 PHP 中的所见即所得值?

How To Sanitize WYSIWYG Value In PHP?

我一直在尝试使用下面的代码来过滤掉恶意脚本,只允许在所见即所得的文本栏中使用过滤器中提到的标签。但是当我将 $filter 值插入数据库时​​,没有插入任何内容。简而言之,$filter 没有获取任何要存储的过滤值。我想知道我的代码有没有问题?

$description = $_POST['name'];

$filter = strip_tags($description,"<p><a><b><ul><li><ol><u><i><h1><h2><h3><h4><h5><h6><br><div><hr><table><tbody><td><tr><tfoot><th><thead><img><strong><em>");

尝试使用 htmlentities,这会将 <> 转换为对应的 HTML 实体

$filter = htmlentities($description);

另一种选择是使用 strip_tags,这将完全删除标签

$filter = strip_tags($description);