因此,我试图从字符串中删除所有空格,换行,制表符和特殊字符,以使其成为可行的电子邮件地址,但是我不能将var_filter
与FILTER_SANITIZE_EMAIL
一起使用,因为它会删除ä ,ö,ü,ß。
当前的解决方法,但是它看起来确实很愚蠢,我敢肯定有更好的方法来做到这一点!
if(strpos($string, '\'')) {
$string = str_replace('\'', '', $string);
}
if(strpos($string, '"')) {
$string = str_replace('""', '', $string);
}
if(strpos($string, '/')) {
$string = str_replace('/', '', $string);
}
我也尝试过preg_replace
,但找不到任何有关如何正确设置其格式的列表。
$$string = preg_replace('/\s+/,\',",/', '', $string);
应该能够转换此电子邮件:
peters.müller @ email. /
com'"
变成:
peters.müller@email.com
答案 0 :(得分:-1)
找到了答案:
这将保留所有音符(äöüß),并且不会删除电子邮件中使用的“。; @ _”。 需要分号作为字符串中多个电子邮件的分隔符。
$string = preg_replace('/[^\p{L}0-9\-.;@_]/u', '', $string);