在过滤或者其他一些应用找,文字里面包含全角,需要将他转成半角,有各种各样的方法,这边使用了php的strtr函数。好了。直接上代码:
全角转半角
/**
* 全角转半角
* 运维生存时间
* site:www.ttlsa.com
* @param 传入的字符串 $str
* @return string
*/
function full2semiangle($str)
{
$arr = array(\'0\' => \'0\', \'1\' => \'1\', \'2\' => \'2\', \'3\' => \'3\',
\'4\' => \'4\',
\'5\' => \'5\', \'6\' => \'6\', \'7\' => \'7\', \'8\' => \'8\', \'9\' => \'9\',
\'A\' => \'A\', \'B\' => \'B\', \'C\' => \'C\', \'D\' => \'D\', \'E\' => \'E\',
\'F\' => \'F\', \'G\' => \'G\', \'H\' => \'H\', \'I\' => \'I\', \'J\' => \'J\',
\'K\' => \'K\', \'L\' => \'L\', \'M\' => \'M\', \'N\' => \'N\', \'O\' => \'O\',
\'P\' => \'P\', \'Q\' => \'Q\', \'R\' => \'R\', \'S\' => \'S\', \'T\' => \'T\',
\'U\' => \'U\', \'V\' => \'V\', \'W\' => \'W\', \'X\' => \'X\', \'Y\' => \'Y\',
\'Z\' => \'Z\', \'a\' => \'a\', \'b\' => \'b\', \'c\' => \'c\', \'d\' => \'d\',
\'e\' => \'e\', \'f\' => \'f\', \'g\' => \'g\', \'h\' => \'h\', \'i\' => \'i\',
\'j\' => \'j\', \'k\' => \'k\', \'l\' => \'l\', \'m\' => \'m\', \'n\' => \'n\',
\'o\' => \'o\', \'p\' => \'p\', \'q\' => \'q\', \'r\' => \'r\', \'s\' => \'s\',
\'t\' => \'t\', \'u\' => \'u\', \'v\' => \'v\', \'w\' => \'w\', \'x\' => \'x\',
\'y\' => \'y\', \'z\' => \'z\',\'(\' => \'(\', \')\' => \')\',
\'〔\' => \'[\', \'〕\' => \']\', \'【\' => \'[\',\'】\' => \']\',
\'〖\' => \'[\', \'〗\' => \']\', \'“\' => \'[\', \'”\' => \']\',\'‘\' => \'[\',
\'’\' => \']\',\'{\' => \'{\', \'}\' => \'}\', \'《\' => \'<\',\'》\' => \'>\',
\'%\' => \'%\', \'+\' => \'+\', \'—\' => \'-\', \'-\' => \'-\', \'~\' => \'-\',
\':\' => \':\', \'。\' => \'.\', \'、\' => \',\', \',\' => \'.\', \'、\' => \'.\',
\';\' => \',\', \'?\' => \'?\', \'!\' => \'!\', \'…\' => \'-\', \'‖\' => \'|\',
\'”\' => \'\"\', \'’\' => \'`\', \'‘\' => \'`\', \'|\' => \'|\', \'〃\' => \'\"\',
\' \' => \' \',\'$\'=>\'$\',\'@\'=>\'@\',\'#\'=>\'#\',\'^\'=>\'^\',\'&\'=>\'&\',
\'*\'=>\'*\', \'"\'=>\'\"\');
return strtr($str, $arr);
}
$str:要转的字符串
$arr:全半角映射关系
半角转全角
将数组总的顺序替换一下即可
这个方法可以用在各种地方,在上面的数组里面你可以添加\’二\’=>\’2\’,这样一来字符串中的\”二\”将会被替换成阿拉伯数字\”2\”.








