我正在使用WordPress API创建选项页面。其中一个输入需要输入电子邮件。我需要编写一个函数来验证输入的电子邮件并将其返回。
function nl_validate_settings( $input ) {
if ( $field_args = array( 'type' => 'email' ) ) {
foreach( $input as $email ) {
if ( ! preg_match( '/^[A-Za-z0-9!#$%&\'*+\/=?^_`{|}~-]+@[A-Za-z0-9-]+(\.[A-Za-z0-9-]+)+[A-Za-z]$/', $email ) ) {
$email = "Invalid email address!";
}
}
return $email;
}
}
这不起作用,我不知道我做错了什么。正确输入电子邮件时,它不会保存电子邮件。
我已经在StackOverFlow上检查了其他答案,但找不到任何能解决问题的方法。非常感谢您的帮助!
我不知道如何格式化
答案 0 :(得分:4)
我会使用filter_var并使用Sanatize和Validation
的组合$email = $_POST['email'];
$clean_email = filter_var($email, FILTER_SANITIZE_EMAIL);
if( filter_var($clean_email, FILTER_VALIDATE_EMAIL) )
{
//Case if Email is valid
}
else
{
//Handle the case the email is invalid
}