PHP正则函数匹配与替换

正则函数的玩法其实挺多的,是在做用户验证或者 URL 的时候,PHP自带的正则函数就派上用场了。preg_match()用来看有没有匹配到,preg_replace()用来直接改字符串,响应也快,写法也清爽。

像用户名那种规则,通常就是字母+数字+下划线,长度控制一下就好。你只要写好正则,比如/^[a-zA-Z0-9_]{3,20}$/,直接配合preg_match()就能判断是不是合法用户名。

密码这块要求比较高。大小写、数字、特殊字符都要照顾到,一般就用带断言的正则搞定:

$pattern = "/^(?=.*[A-Z])(?=.*[a-z])(?=.*\d)(?=.*[@$!%*?&])[A-Za-z\d@$!%*?&]{8,}$/";
这样就能保证安全性,用户体验也不会差。

路由匹配其实也用得挺多的,比如你在做/users/123这种路径时,想提取用户 ID,只要写个#^/users/(\d+)$#,一行搞定。不用写太多逻辑。

再比如邮箱链接,把纯文本邮箱变成可点击的,用preg_replace()就合适:

$replacement = "mailto:$0";
$result = preg_replace($pattern, $replacement, $email);
这样你页面里邮箱就能直接点了,效率也高。

想练手的话,那个A24_PHP13压缩包挺实用,里面应该有不少实战小例子,边写边看,快就熟了。你要是刚学正则,蛮推荐从这类练习开始,效果还不错。

rar
A24_PHP13.rar 预估大小:18个文件
folder
A24_PHP13 文件夹
file
文件系统.doc 107KB
file
7_统计磁盘大小.php 182B
file
demo.php 528B
file
4_basename_dirname_pathinfo.php 696B
file
1_文件类型和文件类型判断.php 684B
file
8_创建和删除目录.php 350B
file
6_将目录遍历到表格中.php 1KB
file
2_文件属性.php 387B
file
getSize.php 779B
file
10_dirSize.php 1KB
folder
xxoo 文件夹
folder
hehe 文件夹
folder
heihei 文件夹
folder
haha 文件夹
folder
lili 文件夹
file
1.exe 55.74MB
file
5_遍历目录.php 648B
file
9_创建和删除文件.php 383B
file
3_stat.php 369B
rar 文件大小:55.83MB