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
压缩包挺实用,里面应该有不少实战小例子,边写边看,快就熟了。你要是刚学正则,蛮推荐从这类练习开始,效果还不错。
A24_PHP13.rar
预估大小:18个文件
A24_PHP13
文件夹
文件系统.doc
107KB
7_统计磁盘大小.php
182B
demo.php
528B
4_basename_dirname_pathinfo.php
696B
1_文件类型和文件类型判断.php
684B
8_创建和删除目录.php
350B
6_将目录遍历到表格中.php
1KB
2_文件属性.php
387B
getSize.php
779B
55.83MB
文件大小:
评论区