<div class="codetitle"><a style="CURSOR: pointer" data="35947" class="copybut" id="copybut35947" onclick="doCopy('code35947')"> 代码如下:
<div class="codetitle"><a style="CURSOR: pointer" data="35947" class="copybut" id="copybut35947" onclick="doCopy('code35947')"> 代码如下:
','‘' => '
','|' => '|','〃' => '"',' ' => ' '); 在许多收集用户信息的表单里,期望用户输入的是半角字符,但是无论你如何强调,如何提醒,还是会有粗心的用户提交全角数据,其实,在一些新手眼中,全角和半角根本就没有区别,甚至他们会觉得:我提交的明明是正确的信息,为什么会提示错误呢?实际上,全角和半角有一一对应关系,而大多数用户并非故意输入错误的信息,所以,我们可以通过程序来避免这种情况的发生,最多,可以在转换后给用户一个确认的机会,这样,或许能够给用户一个更好的体验。下面介绍一个函数,实现字符 半角 和 全角 之间的互转。
// 第一个参数:传入要转换的字符串
// 第二个参数:取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);
?>