3个实用PHP函数:随机字符串生成与邮箱防采集编码

发布来源:浮云网络

发布时间:2025-06-08

在PHP开发中,随机字符串生成和邮箱地址防采集是常见需求。本文将分享三个实用的PHP函数,帮助开发者高效生成随机字符串,并有效保护邮箱地址免受垃圾邮件采集。

1. 生成可阅读的随机字符串
此函数通过结合辅音和元音数组,生成更接近词典单词的随机字符串,适用于需要用户记忆的密码或验证码场景。

php

function readable_random_string($length = 6){  
    $conso = array("b","c","d","f","g","h","j","k","l",  
    "m","n","p","r","s","t","v","w","x","y","z");  
    $vocal = array("a","e","i","o","u");  
    $password = "";  
    srand((double)microtime() * 1000000);  
    $max = $length / 2;  
    for($i = 1; $i <= $max; $i++){  
        $password .= $conso[rand(0, 19)];  
        $password .= $vocal[rand(0, 4)];  
    }  
    return $password;  }

使用示例:调用readable_random_string(6)可能返回“pamenu”等易读字符串。

2. 生成通用随机字符串
若无需考虑可读性,此函数可生成包含大小写字母和数字的随机字符串,适用于密码重置、令牌生成等场景。

php

function generate_rand($l){  
    $c = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789";  
    srand((double)microtime() * 1000000);  
    for($i = 0; $i < $l; $i++) {  
        $rand .= $c[rand() % strlen($c)];  
    }  
    return $rand;  }

说明:通过循环从字符集中随机选取字符,生成指定长度的字符串。

3. 邮箱地址防采集编码
此函数将邮箱地址编码为HTML字符实体,并通过JavaScript动态输出,有效防止被垃圾邮件程序采集。

php

function encode_email($email = 'info@domain.com', $linkText = 'Contact Us', $attrs = 'class="emailencoder"') {  
    $email = str_replace('@', '@', $email);  
    $email = str_replace('.', '.', $email);  
    $email = str_split($email, 5);  
    
    $linkText = str_replace('@', '@', $linkText);  
    $linkText = str_replace('.', '.', $linkText);  
    $linkText = str_split($linkText, 5);  
    
    $part1 = '<a href="mailto:';  
    $part2 = '">';  
    $part3 = '</a>';  
    
    $encoded = '<script type="text/javascript">';  
    $encoded .= "document.write('$part1');";  
    foreach($email as $e) {  
        $encoded .= "document.write('$e');";  
    }  
    $encoded .= "document.write('$part2');";  
    foreach($linkText as $l) {  
        $encoded .= "document.write('$l');";  
    }  
    $encoded .= "document.write('$part3');";  
    $encoded .= '</script>';  
    return $encoded;  }

功能亮点

  • 将邮箱地址分割成片段,通过JavaScript拼接,降低被采集风险。

  • 支持自定义链接文本和HTML属性,提升网站安全性与用户体验。

结语
以上三个PHP函数覆盖了随机字符串生成与邮箱防采集的常见需求,开发者可直接使用或根据项目需求调整。注重代码安全性与实用性,能有效提升开发效率和系统安全性。

相关资讯
多一份参考,总有益处
联系浮云网络,免费获得专属定制《策划方案》及网站建设、网站设计、网站制作报价
山东济南网站建设

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线172-7789-8889

提交需求提交需求

提交需求
热线
微信扫码咨询
电话咨询
官微
业务热线
提交需求
官方微信
准备好开始了吗,
那就与我们取得联系吧
172-7789-8889
有更多服务咨询,请联系我们
请填写您的需求
您希望我们为您提供什么服务呢
您的预算