閱讀836 返回首頁    go 阿裏雲 go 技術社區[雲棲]


PHP全角半角轉換函數

之前試過網上找的通過ASCII之類的字符替換,發現很多莫名其妙的問題。最後還是換成下麵的字符替換方式了,把目前能找到的所有全角都列出來了一個個替換吧

   /**
     * 全角字符轉換為半角
     * 
     * @param string $str
     * @return string
     */
    public function Sbc2Dbc($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);
    }


最後更新:2017-04-03 12:54:57

  上一篇:go 一個簡單的jQuery插件開發實例
  下一篇:go Linux之VI搜索相關命令