1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
function SBC_DBC($str '',$args_type = 1) { 
//半角和全角转换函数,第二个参数如果是0,则是半角到全角;如果是1,则是全角到半角
    $DBC = 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' '-' ' '  ':' ,
            '.' ',' '/' '%' '#' ,
            '!' '@' '&' '(' ')' ,
            '<' '>' '"' ''' '?' ,
            '[' ']' '{' '}' '\' ,
            '|' '+' '=' '_' '^' ,
            '¥' ' ̄' '`'
    );
    $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($args_type == 0){
        return str_replace($SBC,$DBC,$str);  //半角到全角
    }elseif($args_type == 1){
        return str_replace($DBC,$SBC,$str);  //全角到半角
    }else{
        return false;
    }  
}

其实原理比较简单,将所有半角和所有全角定义成一个数组,根据传入的参数进行替换!

相关评论(0)
您是不是忘了说点什么?

友情提示:垃圾评论一律封号...

还没有评论,快来抢沙发吧!