如何通过用一些单词替换电子邮件地址来防止人们在描述字段中显示他们的电子邮件地址?例如,如果用户输入以下文本:
Please contact me via [email protected].
我想要的输出是:
Please contact me via <email address is blocked>.
我知道一个基本的
str_replace()
函数,但输出只是:
//output is Please contact me via joe.joey <email address is blocked> email.com
$string = 'Please contact me via [email protected].';
$lookfor = '@';
$replacewith = '<email address is blocked>';
$newstring = str_replace($lookfor, $replacewith, $string);
这是使用 preg_replace 的最佳时机。我在这里稍微简化了有效电子邮件的要求(电子邮件可能非常复杂),但类似于:
$newstring = preg_replace("/[\w-]+@([\w-]+\.)+[\w-]+/", $replacewith, $string);