PHP实用代码:随机字符串与邮箱编码
86 浏览量
更新于2024-08-30
收藏 79KB PDF 举报
"PHP实用代码收集"
在PHP编程中,有时我们需要生成一些特定的字符串,例如随机密码或者进行数据的编码处理。下面是一些非常实用的PHP代码片段:
1. 可阅读随机字符串:
这个代码段定义了一个名为`readable_random_string`的函数,它生成的随机字符串更易于人类阅读,类似于词典中的单词,适合用作密码。函数接受一个参数`$length`,表示生成的字符串长度(必须是偶数)。它通过两个数组`$conso`和`$vocal`分别存储辅音和元音字母,然后随机组合它们来构造字符串。通过`srand`函数初始化随机数种子,并使用循环结构生成字符串。
```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;
}
```
2. 生成一个随机字符串:
这个函数`generate_rand`用于生成一个不可读的随机字符串,不包含任何特定的单词模式,适用于创建用户密码、唯一标识符等。同样接受一个参数`$l`,表示生成字符串的长度。它使用一个包含所有大小写字母和数字的字符串`$c`,并通过循环结构生成随机字符串。
```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. 编码电子邮件地址:
这个`encode_email`函数将电子邮件地址转换为HTML字符实体,以防止被垃圾邮件机器人抓取。函数接收三个参数:`$email`是待编码的电子邮件地址,`$linkText`是显示在页面上的文本(如"Contact Us"),`$attrs`是附加到链接的HTML属性(如"class='emailencoder'")。通过替换`@`和`.`为对应的HTML实体,可以有效地隐藏电子邮件地址。
```php
function encode_email($email = 'info@domain.com', $linkText = 'Contact Us', $attrs = 'class="emailencoder"') {
$encodedEmail = str_replace('@', '@', $email);
$encodedEmail = str_replace('.', '.', $encodedEmail);
return '<a href="mailto:'.$encodedEmail.'" '.$attrs.'>'.$linkText.'</a>';
}
```
这些代码片段展示了PHP在生成随机数据和处理字符串时的一些常见技巧,对于开发过程中处理用户安全和隐私问题非常有用。通过理解和应用这些函数,可以提高代码的安全性和用户体验。
2020-10-29 上传
2013-08-14 上传
2009-08-20 上传
2021-01-20 上传
2022-11-26 上传
2022-11-26 上传
2020-10-26 上传
2018-01-30 上传
2019-08-13 上传
weixin_38743119
- 粉丝: 6
- 资源: 934