正則匹配大小寫字母、漢字、特殊字元,並統計次數
阿新 • • 發佈:2019-01-06
<?php
header('Content-Type:text/html;charset=utf-8');
$subject='[email protected] 是 ';
$a = $b = $c = $d = $e = 0;
for ($i=0; $i < mb_strlen($subject,'utf8'); $i++) {
$obj = mb_substr($subject,$i,1,'utf-8'); //將單個字元存到陣列當中
if(preg_match('/^[a-z]$/', $obj)){
$count['xx'] = ++$a;
echo $obj.'-小寫字母'."<br>";
}elseif(preg_match('/^[A-Z]$/', $obj)){
$count['dx'] = ++$b;
echo $obj.'-大寫字母'."<br>";
}elseif(preg_match('/^[0-9]$/', $obj)){
$count['sz'] = ++$c;
echo $obj.'-數字'."<br>";
}elseif(preg_match("/^[\x{4e00}-\x{9fa5}]$/u", $obj)){
$count['hz'] = ++$d;
echo $obj.'-漢字'."<br>";
}else{
$count['ts'] = ++$e;
echo $obj."-特殊字元"."<br>";
}
}
echo "<pre>";
print_r($count);
echo "</pre>";
?>
結果:
Q-大寫字母
5-數字
4-數字
@-特殊字元
3-數字
5-數字
4-數字
e-小寫字母
-特殊字元
是-漢字
-特殊字元
&-特殊字元
n-小寫字母
b-小寫字母
s-小寫字母
p-小寫字母
;-特殊字元
Array
(
[dx] => 1
[sz] => 5
[ts] => 5
[xx] => 5
[hz] => 1
)
5-數字
4-數字
@-特殊字元
3-數字
5-數字
4-數字
e-小寫字母
-特殊字元
是-漢字
-特殊字元
&-特殊字元
n-小寫字母
b-小寫字母
s-小寫字母
p-小寫字母
;-特殊字元
Array
(
[dx] => 1
[sz] => 5
[ts] => 5
[xx] => 5
[hz] => 1
)