php正则表达式来验证文字长度

<?php if(!empty($_POST['text'])){//提交内容不能为空 $str=$_POST['text'];//获取提交的字符串信息 preg_match_all("/./us",$str,$match);//通过preg_match_all()函数使用正则表达式把字符串分解成单元存储在数组中(使用数组的形式存储每个文字) $num=count($match[0]);//获取字符串总数 if($num<=6){ echo "<script>alert('输入内容的长度小于6');</script>"; }else{ echo "<script>alert('发布成功');</script>"; } } ?>谁能具体的跟我解释一下 preg_match_all("/./us",$str,$match);这句话到底该怎么理解
最新回答
ヾ(≧O≦)〃嗷~

2024-07-09 08:55:39

preg_match_all函数用来进行正在表达式匹配的,你的语句中是把$str拆分为字符,存放在$match数组里面,你在语句中增加下来的语句可以明白其功能:
print_r($match);

此函数的详细解释见官方资料:

http://php.net/manual/zh/function.preg-match-all.php


不过呢,为了检测字符串的长度,可以使用strlen这样的函数,更加高效和快速。
追问
但那只能通过计算机字符所占字节来统计字符串长度,用于论坛开发就不适用了啊
追答
如果是PHP7,一切都是UNICODE了,如果是之前的版本,使用MB系列函数mb_strlen可以处理汉字数量。