PHP 板


LINE

看板 PHP  RSS
※ 引述《tas72732002 (葱头)》之铭言: : 请问一下, : 全形小写英文可以转成大写吗?? : 我使用strtoupper并不会帮我转成大写 : 不知道是否有其他的function可以用?? : 目前想到的方法是替换 : public function transChar($char){ : $find = array( : "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"); : $relpace = array( : "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"); : return str_replace($find,$relpace,$char); : } 你的问题让我想到之前处理五十音平假名和片假名的转换,虽然那时候是用JS解决。 全形/半形转函式大概会像下面这样: function shiftSpaceTable($char=null, $width='auto') { //手刻对应表 $charTable = array( //以"全形字元" => "半形字元"来建表 //由於会太长,所这边先略过,请自行手刻全部:) "a" => "a", "0" => "0", ); //判断当前字元为半形或全形 $charWidth = array_key_exists($char,$charTable) ? 'full' : 'half'; //如果字元字形与指定字形一样,就直接回传 if($charWidth == $width) { return $char; } //如果是要转半形,反转对应表 if($charWidth == 'half') { $charTable = array_flip($charTable); } return $charTable[$char]; } 接着你就可以这样子解决了! $halfstr = 'I am halfwidth words'; $fullstr = null; for($i=0; $i<mb_strlen($halfstr,'UTF-8'); $i++) { $char = mb_substr($halfstr,$i,1,'UTF-8'); //先转成半形 $lowerchar = shiftSpaceTable($char, 'half'); //转大写 $supperchar = strtoupper($lowerchar); //再转全形 $fullstr .= shiftSpaceTable($supperchar, 'full'); } echo $fullstr;//输出 I AM HALFWIDTH WORDS 另外一种方法是用程式来计算字码的差值,进行相对的转换。 如果有兴趣的话,可以参考 http://goo.gl/fY724 -- 欢迎来我的网志看看 @ http://liaosankai.pixnet.net/blog --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 113.196.199.5
1F:推 s25g5d4:像这种阵列对应的方式 有个网站的简繁转换也是这样刻的 06/24 16:05
2F:→ s25g5d4:不过他是用 JS 去弄 不支援词汇对应 06/24 16:05







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:Tech_Job站内搜寻

TOP