相信大家,在做php项目的时候有时会用到全角转化为半角的情况,具体的就是例如110-120-119这是全角,要转化110-120-119的情况,在网上查看了好多php代码写的程序,大多数都是炒来炒去没有自己的主见和实验,而且是错误的,我于是决定自己写出来一个转化函数,本篇文章自己写了个全角数字转化半角的函数。已经测试ok,希望有有用到的可以使用。话不多说,直接代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | function sbc2Dbc($str, $l = 0) { if ($l > 0) { $strNew =''; $arr = array('0' => '0', '1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9','0' => '0', '1' => '1', '2' => '2', '3' => '3', '4' => '4', '5' => '5', '6' => '6', '7' => '7', '8' => '8', '9' => '9'); $len = mb_strlen($str, "UTF-8"); for ($i = 0; $i < $len; $i += $l) { $strQ = mb_substr($str, $i, $l, "UTF-8"); if (array_key_exists($strQ, $arr)){ $strNew .= $arr[$strQ]; } } return $strNew; } return $str; } echo sbc2Dbc('23212143444',1); 结果如下:23212143444 |
如果其他的特殊字符,请在数组里面加上即可。