之前試過網上找的通過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);
java 全形字符轉半形字元
專案中正好要用到全半形字元互轉,收藏下以後備用 public class test 全形空格為12288,半形空格為32 其他字元半形 33 126 與全形 65281 65374 的對應關係是 均相差65248 將字串中的全形字符轉為半形 param src 要轉換的包含全形的任意字串 retur...
全形字符轉換為半形,判斷半形和全形
判斷字元是否英文半形字元或標點 32 空格 33 47 標點 48 57 0 9 58 64 標點 65 90 a z 91 96 標點 97 122 a z 123 126 標點 public static bool isbjchar char c 判斷字元是否全形字符或標點 全形字符 65248...
全形轉半形,半形轉全形,判斷字元是否為全形
全形轉半形的函式 dbc case 任意字串 半形字串 全形空格為12288,半形空格為32 其他字元半形 33 126 與全形 65281 65374 的對應關係是 均相差65248 public string todbc string input if c i 65280 c i 65375 c...