PHP 全角转半角实现代码 |
本文标签:PHP,全角,半角 复制代码 代码如下: /** * 将一个字串中含有全角的数字字符、字母、空格或%+-()字符转换为相应半角字符 * @access public * @param string $str 待转换字串 * @return string $str 处理后字串 */ function make_semiangle($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); } 复制代码 代码如下: <?php $str = "0123ABCDFWS\",.?<>{}[]*&^%#@!~()+-|:;"; echo "$str"; echo "<br />"; $str = preg_replace(/\xa3([\xa1-\xfe])/e, chr(ord(\1)-0x80), $str); echo $str; ?> 另外为大家分享一个函数 在许多收集用户信息的表单里,期望用户输入的是半角字符,但是无论你如何强调,如何提醒,还是会有粗心的用户提交全角数据,其实,在一些新手眼中,全角和半角根本就没有区别,甚至他们会觉得:我提交的明明是正确的信息,为什么会提示错误呢? 复制代码 代码如下: <?php header("Content-type: text/html; charset=utf-8"); // 第一个参数:传入要转换的字符串 $SBC = Array( // 半角 if ($args2 == 0) { $str1 = "http://www.jb51.net/ - 脚本之家"; echo "半角 转 全角:<br />"; echo "<br /><br />全角 转 半角:<br />"; |