我正在寻找更快/更有效的方法来进行与
相同的截断$tmp = explode(";", $d);
foreach ($tmp as $key => $value) {
$tmpp = explode("@", $value);
$ext = explode(".", $tmpp[1]);
$tmp[$key] = substr($tmpp[0], 0, 1)."[...]@".substr($ext[0], 0, 1)."[...].".end($ext);
}
return implode(", ", $tmp);
在PHP中,但直接使用PostgreSQL。
例如,地址“barnaby@free.fr”或“barnaby.lo@free.net.fr”应为“b [...] @ f [...]。fr”
这是我的解决方案,但可能不是最好的:
substr(emailn, 1, 1)||'[...]@'||substr(split_part(emailn, '@', 2), 1, 1)||'[...].'||split_part(split_part(emailn, '@', 2), '.', (length(split_part(emailn, '@', 2)) - length(replace(split_part(emailn, '@', 2),'.',''))) + 1) AS emailn