php自定义函数之半角与全角的互相转换

bloger 2019-10-31 PM 2174℃ 0条
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;
	}	
}

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

标签: none

非特殊说明,本博所有文章均为博主原创。

评论啦~