|
<div class="codetitle"><a style="CURSOR: pointer" data="35947" class="copybut" id="copybut35947" onclick="doCopy('code35947')"> 代码如下:<div class="codebody" id="code35947"> /* 将一个字串中含有全角的数字字符、字母、空格或'%+-()'字符转换为相应半角字符 @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); } <div class="codetitle"><a style="CURSOR: pointer" data="27661" class="copybut" id="copybut27661" onclick="doCopy('code27661')"> 代码如下:<div class="codebody" id="code27661"> <?php $str = "0123ABCDFWS\",.?<>{}[]*&^%#@!~()+-|:;"; echo "$str"; echo " "; $str = preg_replace('/xa3([xa1-xfe])/e','chr(ord(1)-0x80)',$str); echo $str; ?> 另外为大家分享一个函数
在许多收集用户信息的表单里,期望用户输入的是半角字符,但是无论你如何强调,如何提醒,还是会有粗心的用户提交全角数据,其实,在一些新手眼中,全角和半角根本就没有区别,甚至他们会觉得:我提交的明明是正确的信息,为什么会提示错误呢?实际上,全角和半角有一一对应关系,而大多数用户并非故意输入错误的信息,所以,我们可以通过程序来避免这种情况的发生,最多,可以在转换后给用户一个确认的机会,这样,或许能够给用户一个更好的体验。下面介绍一个函数,实现字符 半角 和 全角 之间的互转。
代码如下:header("Content-type: text/html; charset=utf-8");
// 第一个参数:传入要转换的字符串 // 第二个参数:取0,半角转全角;取1,全角到半角 function SBC_DBC($str,$args2) { $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 ($args2 == 0) { return str_replace($SBC,$DBC,$str); // 半角到全角 } else if ($args2 == 1) { return str_replace($DBC,$SBC,$str); // 全角到半角 } else { return false; } }
$str1 = "//www.jb51.cc/ - 脚本之家"; $str2 = "http://JB51.net/ - 脚本之家";
echo "半角 转 全角: "; echo $str1 . ' -> ' . SBC_DBC($str1,0);
echo "
全角 转 半角: "; echo $str2 . ' -> ' . SBC_DBC($str2,1); ?>
(编辑:安卓应用网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|