📜  php 混淆电子邮件 - PHP (1)

📅  最后修改于: 2023-12-03 15:33:38.872000             🧑  作者: Mango

PHP 混淆电子邮件

当你在网站上发布自己的电子邮件时,很容易被网络爬虫找到,并被垃圾邮件发件人大量地发送电子邮件。为了避免这个问题的发生,一种解决方案是将电子邮件地址混淆。在本文中,我们将介绍一种用 PHP 实现的方法。

实现

在这个方法中,我们将使用 PHP 的 str_replace 函数来替换电子邮件地址中的某些字符,使其变成一个普通文本字符串。然后,我们将通过 JavaScript 将其转换回链接。

在 PHP 中,我们将使用以下代码对电子邮件地址进行替换:

$email = 'johndoe@example.com';
$at = '@'; // 替换字符
$dot = '.'; // 替换字符
$email = str_replace($at, ' [AT] ', $email);
$email = str_replace($dot, ' [DOT] ', $email);

在此代码中,我们首先设置要替换的字符。然后,我们使用 str_replace 函数来将字符替换为字符串“[AT]”和“[DOT]”。

现在我们的电子邮件地址已经被混淆了,我们需要在 HTML 中显示它。这里我们将使用以下代码:

<span id="email"></span>

<script>
var email = 'johndoe[AT]example[DOT]com';
email = email.replace('[AT]', '@');
email = email.replace('[DOT]', '.');
document.getElementById('email').innerHTML = '<a href="mailto:' + email + '">' + email + '</a>';
</script>

在此代码中,我们首先在 HTML 中创建一个空 span 元素。然后,我们使用 JavaScript 将电子邮件字符串转换回链接,并将其添加到 span 元素中。

总结

通过使用 str_replace 函数和 JavaScript,我们可以将电子邮件地址混淆以保护它们不被网络爬虫找到。这是 PHP 中一个简单而有效的解决方案。