从字符串中获取并修改所有邮件地址

时间:2018-03-04 20:01:58

标签: php

我正在尝试编码(用字符的ASCII值替换每个字母,以防止垃圾邮件)来自字符串的所有邮件地址。到目前为止,我的想法是用一种模式替换邮件,但我还没有设法对邮件地址进行编码。

function replace_mail($string) {
    $pattern = "<[\w.]+@[\w.]+>";
    $replacement = encode_email(MAILADDRESS);
    return preg_replace($pattern, $replacement, $string);
}

例如:

replace_mail('This is a string with a mail@gmail.com to contact us.');
// Output should be: This is a string with a &#109;&#097;&#105;&#108;&#064;&#103;&#109;&#097;&#105;&#108;&#046;&#099;&#111;&#109; to contact us.

编码功能供参考:

function encode_email($e) {
    $output = "";
    for ($i = 0; $i < strlen($e); $i++) { $output .= '&#'.ord($e[$i]).';'; }
    return $output;
}

我现在已经找了很长时间的解决方案 - 没有成功。所以现在我希望在这里找到一个。

1 个答案:

答案 0 :(得分:0)

试试这个代码段。可能这有帮助。请让我知道..`

def __init__(self, *args, **kwargs):
    super(ScreenLayout, self).__init__(*args, **kwargs)
    self.ids.graph_container.add_widget(self.InitiateGraph())