php字符串处理之全角半角转换

全角是历史遗留问题,能修复尽量修复

半角全角的处理是字符串处理的常见问题,本文尝试为大家提供一个思路。

复制代码
/**
 * Notes:全角 半角相互转化
 * @param $str
 * @param $type string  TODBC 半角到全角 | TOSBC 全角到半角
 */
function convertStrType($str, $type = 'TOSBC')
{
    $dbc = array(
        '', '', '', '', '',

        '', '', '', '', '',

        '', '', '', '', '',

        '', '', '', '', '',

        '', '', '', '', '',

        '', '', '', '', '',

        '', '', '', '', '',

        '', '', '', '', '',

        '', '', '', '', '',

        '', '', '', '', '',

        '', '', '', '', '',

        '', '', '', '', '',

        '', '', '', ' ', '',

        '', '', '', '', '',

        '', '', '', '', '',

        '', '', '', '', '',

        '', '', '', '', '',

        '', '', '', '_', '',

        '', '', ''
    );
    $sbc = array( //半角

        '0', '1', '2', '3', '4',

        '5', '6', '7', '8', '9',

        'A', 'B', 'C', 'D', 'E',

        'F', 'G', 'H', 'I', 'J',

        'K', 'L', 'M', 'N', 'O',

        'P', 'Q', 'R', 'S', 'T',

        'U', 'V', 'W', 'X', 'Y',

        'Z', 'a', 'b', 'c', 'd',

        'e', 'f', 'g', 'h', 'i',

        'j', 'k', 'l', 'm', 'n',

        'o', 'p', 'q', 'r', 's',

        't', 'u', 'v', 'w', 'x',

        'y', 'z', '-', ' ', ':',

        '.', ',', '/', '%', ' #',

        '!', '@', '&', '(', ')',

        '<', '>', '"', '\'', '?',

        '[', ']', '{', '}', '\\',

        '|', '+', '=', '_', '^',

        '', '~', '`'

    );

    if($type == 'TODBC'){ //半角到全角
        return str_replace( $sbc, $dbc, $str );
    }elseif($type == 'TOSBC'){ //全角到半角
        return str_replace( $dbc, $sbc, $str );
    }else{
        return $str;
    }
}
复制代码

 

posted @   study_php_java_C++  阅读(124)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2021-02-19 symfony生成路由
2019-02-19 dede织梦动态页面通过手机模板实现wap浏览
点击右上角即可分享
微信分享提示