[英]php , replace code with php 5.3 compatible code
我需要重写此功能以与php 5.3兼容
function fns_data($address)
{
if (ereg("^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$", $address))
{return true;}
return false;
}
有人可以帮忙吗?
谢谢
签出filter_var(),这是PHP 5.2.0版的新增功能:
function fns_data($address) {
return filter_var($address, FILTER_VALIDATE_EMAIL);
}
通常,将ereg更改为preg通常(将其重命名为“ preg_match”并在模式的开头和结尾添加/
一样简单)。 由于您的模式(相对)很简单:
function fns_data($address) {
if (preg_match('/^[a-zA-Z0-9_\.\-]+@[a-zA-Z0-9\-]+\.[a-zA-Z0-9\-\.]+$/', $address)) {
return true;
}
return false;
}
首先,不要使用ereg,而是使用preg_replace,并使用正确的电子邮件正则表达式,例如:
function fns_data($address) {
if (preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $address))
return true;
return false;
}
更好的是,您现在可以使用过滤器 :
function fns_data($address) {
return filter_var($address, FILTER_VALIDATE_EMAIL);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.