在将文本放回文本框进行编辑之前,是否需要清理数据。
您可以“清理”正在接收的数据。然后在输出时“退出”。
根据具体的代码(您没有提供任何示例),您可能需要执行以下操作stripslashes()
(或将其全部替换)。WP has several built in functions for handling various kinds of data. 例如:
// Use the "sanitize" functions instead of stripslashes()
$sanitized_username = sanitize_user( $_POST[\'user_login\'] );
$sanitized_email = sanitize_email( $_POST[\'user_email\'] );
$sanitized_fname = sanitize_text_field( $_POST[\'first_name\'] );
$sanitized_lname = sanitize_text_field( $_POST[\'last_name\'] );
// Now you can write these to the db or use them.
// "Escape" data when outputting
echo \'<input class="\' . esc_attr( $my_class ) . \'" name="some_input" value="" />\';
echo \'<a href="\' . esc_url( $my_url ) . \'" />\';
这些只是几个例子——有
quite a few different functions within WP 自身进行正确的数据处理。
此外,如果您确实知道数据是什么,就不需要转义数据。在您的情况下,您是从数据库中提取它,因此您不必相信它是100%安全的。但是,如果您正在输出某个变量中包含的内容,但该变量是在代码中设置的(即,您没有从不受信任的源中提取该变量),则不需要对其进行转义。