Re: [請益] 請問全形小寫如何轉成全形大寫

看板PHP作者 (滑鼠壞了)時間12年前 (2013/06/20 19:03), 編輯推噓3(307)
留言10則, 6人參與, 最新討論串1/2 (看更多)
※ 引述《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); : } 不清楚你的問題卡在那裡.. 不過css也有類似的功能 .transform{ text-transform: uppercase; } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 175.182.163.183 ※ 編輯: iamnodoubt 來自: 175.182.163.183 (06/20 19:03)

06/20 19:08, , 1F
他的問題是"全形字"吧,印象中全形可能還是得手動處理
06/20 19:08, 1F

06/20 19:11, , 2F
感謝,又多學到一樣,我還想說問題有這麼簡單嗎 xd
06/20 19:11, 2F

06/20 22:05, , 3F
一般半形英文大小寫轉換都是用ASCII碼的差距來轉換,可
06/20 22:05, 3F

06/20 22:06, , 4F
以看看全形是不是差距也一樣
06/20 22:06, 4F

06/20 22:42, , 5F
不幸的是 如果編碼是大五碼的話 小寫的 wxyz 不跟其他連續
06/20 22:42, 5F

06/20 22:44, , 6F
不過其他的編碼的這個差距應該是都相同的
06/20 22:44, 6F

06/21 00:20, , 7F
UTF-8相差32
06/21 00:20, 7F

06/21 03:46, , 8F

06/21 03:47, , 9F
然後看是什麼編碼,utf-8的話就用utf-8:upper:utf-8
06/21 03:47, 9F

06/21 04:01, , 10F
剛剛更新了一下表格,最新一個commit可以轉希臘文喔
06/21 04:01, 10F
文章代碼(AID): #1Hmk67Cu (PHP)
文章代碼(AID): #1Hmk67Cu (PHP)