我网站上的用户输入电子邮件地址有时会显示如下,并保存在数据库accounts@somesite.co.uk           Â
或类似内容中。
在结果打印输出中,它就像这样accounts@somesite.co.uk �
我认为这些是来自非UTF-8字符集的空格字符。
我尝试使用正则表达式,我肯定是错误的
$email = preg_replace('/[\t ]/', '', $email);
我试过
$email=trim($email);
有人可以指导我吗?
答案 0 :(得分:1)
如果您希望检查电子邮件并警告用户是否存在问题,您可以使用filter_var($email, FILTER_SANITIZE_EMAIL)
删除所有无效字符或filter_var($email, FILTER_VALIDATE_EMAIL)
答案 1 :(得分:0)
辉煌。过滤器做到了。我尝试了正则表达式,但没有效果。 BTW UTF-8语句在HTML头中。我想这会迫使它但不确定。我没有尝试过urlencode,但是未来的问题需要记住。