# 清理数据 不受信任的数据来自许多来源(用户、第三方网站,甚至您自己的数据库!),所有这些数据在使用之前都需要进行检查。 请记住:即使管理员也是用户,用户也会有意或无意地输入错误的数据。你的工作就是保护他们免受伤害。 *清理*输入是保护/清理/过滤输入数据的过程。验证优于清理,因为验证更具体。但当“更具体”不可能时,消毒就是下一个最好的选择。 #### 例子 假设我们有一个名为的输入字段`title`: ```php ``` 我们不能在这里使用验证,因为文本字段太笼统:它可以是任何东西。因此,我们使用以下函数清理输入数据`sanitize_text_field()` ```php $title = sanitize_text_field( $_POST['title'] ); update_post_meta( $post->ID, 'title', $title ); ``` 在后台,`sanitize_text_field()`执行以下操作: 1. 检查无效的 UTF-8 2. 将单个小于号 (<) 转换为实体 3. 删除所有标签 4. 删除换行符、制表符和多余的空白 5. 剥离八位字节 #### 消除功能 有许多功能可以帮助您清理数据。 - `sanitize_email()` - `sanitize_file_name()` - `sanitize_hex_color()` - `sanitize_hex_color_no_hash()` - `sanitize_html_class()` - `sanitize_key()` - `sanitize_meta()` - `sanitize_mime_type()` - `sanitize_option()` - `sanitize_sql_orderby()` - `sanitize_term()` - `sanitize_term_field()` - `sanitize_text_field()` - `sanitize_textarea_field()` - `sanitize_title()` - `sanitize_title_for_query()` - `sanitize_title_with_dashes()` - `sanitize_user()` - `sanitize_url()` - `wp_kses()` - `wp_kses_post()`