PostgreSQL相当于自定义PHP截断电子邮件地址

时间:2016-08-18 19:54:35

标签: php sql postgresql

我正在寻找更快/更有效的方法来进行与

相同的截断
$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

0 个答案:

没有答案