php - 使用正则表达式搜索并替换数据库中存在的电子邮件 ID

标签 php mysql regex preg-replace replace

我想搜索数据库中存在的所有电子邮件 ID,并将其替换为附加了额外文本的电子邮件 ID。

例如:

Before: someone@example.com
After:  someone@examplexyz.com

Before: greatperson@yahoo.co.in
After:  greatperson@yahooxyz.co.in

Before: contactus@boxbe.net
After:  contactus@boxbexyz.net

这里术语“xyz”被附加到所有域。

基本上,我想以这样的方式更改电子邮件 ID,使电子邮件 ID 不会无效,而在发送邮件时域不应该无效。我需要这个来使用实时数据库,但不希望将电子邮件发送给真实用户。我当前的代码设置是 LAMP(Linux、Apache、Mysql、Php)。

感谢任何帮助。谢谢

最佳答案

如果您想使用正则表达式在 php 脚本中更改它们,您可以尝试

<?php
    $email = "aburomaissae@domaine.com";
    echo "Before: ".$email ."<br>"; 
    $email = preg_replace("/@([a-zA-Z1-9]+)(\.[a-zA-Z]+)/","@$1xyz$2",$email);
    echo "After: ".$email ."<br>";

此脚本将打印

Before: aburomaissae@domaine.com

After: aburomaissae@domainexyz.com

关于php - 使用正则表达式搜索并替换数据库中存在的电子邮件 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15268218/

相关文章:

PHPExcel 输出不可读并且没有抛出错误

php - MySQL 查询确实需要很长时间才能加载然后超时

java - 用空字符串替换java中方括号之间的逗号和句号

php - WordPress-使用rtrim从输出中删除最后一个逗号

php - 写入数据库时​​出错-Moodle

mysql - 使用 LDAP (AD) 进行 MySQL 身份验证

mysql - 如何在MySQL中选择非连续的行?

mysql - 在查询期间设置变量

正则表达式从文件名中删除路径,但仅当路径以给定模式开头时

regex - 如何在Python中使用正则表达式从字符串中获取日期?