亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

php實現兼容Unicode文字的字符串大小寫轉換strtol

2020-03-22 19:11:34
字體:
來源:轉載
供稿:網友
  • 前言

    網上流傳著這么一個騰訊筆試題:

    PHP的strtolower()和strtoupper()函數在安裝非中文系統的服務器下可能會導致將漢字轉換為亂碼,請寫兩個替代的函數實現兼容Unicode文字的字符串大小寫轉換。

    舉個例子,我們直接對中英文混排的字符串處理是會出亂碼的,如:

    php > $a = 'abc中華ABC';php > var_dump(strtoupper($a));string(12) "ABC??ō?ABC"php > 

    我們知道中文在 UTF8 編碼里是由3個字符組成的,那么換個思路,我們可以把一個中文當成3個字符來處理,同理再換個思路,在一個把小寫英文轉換成大寫英文的函數里,我們要處理的只有小寫字母,那么我們就可以對一個字符串逐個字符進行處理,只處理小寫字母,那么如何判斷一個字符是小寫字母呢,當然是用 ascii 碼了,使用 linux 或者 mac os (實際上也為 linux 系統)的朋友可以直接使用命令 man ascii 查看字符 ascii 碼對應值:

         The decimal set:       0 nul    1 soh    2 stx    3 etx    4 eot    5 enq    6 ack    7 bel       8 bs     9 ht    10 nl    11 vt    12 np    13 cr    14 so    15 si      16 dle   17 dc1   18 dc2   19 dc3   20 dc4   21 nak   22 syn   23 etb      24 can   25 em    26 sub   27 esc   28 fs    29 gs    30 rs    31 us      32 sp    33  !    34  "    35  #    36  $    37  %    38  &    39  '      40  (    41  )    42  *    43  +    44  ,    45  -    46  .    47  /      48  0    49  1    50  2    51  3    52  4    53  5    54  6    55  7      56  8    57  9    58  :    59  ;    60  <    61  =    62  >    63  ?      64  @    65  A    66  B    67  C    68  D    69  E    70  F    71  G      72  H    73  I    74  J    75  K    76  L    77  M    78  N    79  O      80  P    81  Q    82  R    83  S    84  T    85  U    86  V    87  W      88  X    89  Y    90  Z    91  [    92      93  ]    94  ^    95  _      96  `    97  a    98  b    99  c   100  d   101  e   102  f   103  g     104  h   105  i   106  j   107  k   108  l   109  m   110  n   111  o     112  p   113  q   114  r   115  s   116  t   117  u   118  v   119  w     120  x   121  y   122  z   123  {   124  |   125  }   126  ~   127 del
    由 ascii 表我們看出英文小寫字母的ascii 值在 97 ~ 122 之間,由此可得出我們的程序:

    <?phpfunction mystrtoupper($a){    $b = str_split($a, 1);    $r = '';    foreach($b as $v){        $v = ord($v);        if($v >= 97 && $v<= 122){            $v -= 32;        }        $r .= chr($v);    }    return $r;}$a = 'a中你繼續F@#$%^&*(BMDJFDoalsdkfjasl';echo 'origin string:'.$a."";echo 'result string:';$r = mystrtoupper($a);var_dump($r);
    輸出結果 :

    origin string:a中你繼續F@#$%^&*(BMDJFDoalsdkfjasl

    result string:string(39) "A中你繼續F@#$%^&*(BMDJFDOALSDKFJASL"
    大寫轉小寫同理可得,不再贅述,完整兩個方法的代碼及使用,可下載:http://download.csdn.net/detail/agangdi/8171599

    當然了,編程是一門藝術,同一個功能有多種多樣的實現方法,如果您有什么別的辦法,可以盡情評論指教,如果讀者覺得該方法有什么不妥之后,也可隨時指正。

    PHP編程

    鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

  • 發表評論 共有條評論
    用戶名: 密碼:
    驗證碼: 匿名發表
    亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
    精品国产一区久久久| 国产精品久久久久久搜索| 国产日韩精品综合网站| 91在线直播亚洲| 国产一区二区丝袜| 精品国模在线视频| 亚洲三级免费看| 在线观看中文字幕亚洲| 国产一区香蕉久久| 亚洲国产一区二区三区在线观看| 亚洲精品国产成人| 亚洲国产精品免费| 久久精品这里热有精品| 国产精品高潮视频| 欧美—级a级欧美特级ar全黄| www.亚洲男人天堂| 日本中文字幕久久看| 久久久久久久电影一区| 国产精品久久久久久久久借妻| 姬川优奈aav一区二区| 国产精品久久久久久亚洲调教| 亚洲色图国产精品| 美日韩精品免费观看视频| 亚洲色图18p| 国产精品久久一区主播| 亚洲性线免费观看视频成熟| 日韩中文字幕在线视频播放| 欧美成人免费小视频| 国产精品入口日韩视频大尺度| 亚洲日韩欧美视频一区| 国产欧美日韩精品在线观看| 久久国产精品影视| 日韩欧美视频一区二区三区| 色香阁99久久精品久久久| 欧美午夜女人视频在线| 国产精品视频白浆免费视频| 亚洲欧美在线x视频| 国产成人高潮免费观看精品| 亚洲色图17p| 欧美日韩亚洲国产一区| 亚洲成在人线av| 秋霞成人午夜鲁丝一区二区三区| 久久男人av资源网站| 色综合影院在线| 777午夜精品福利在线观看| 国产日韩欧美91| 日韩av片永久免费网站| 91久久久久久| 久久精品99久久香蕉国产色戒| 精品视频在线播放色网色视频| 国产精品成人一区二区三区吃奶| 亚洲国产精品久久久久秋霞不卡| 日韩亚洲在线观看| 色午夜这里只有精品| 亚洲精品中文字幕av| 欧美日韩成人在线观看| 欧美成人激情在线| 国产精品成人品| 久久久91精品| 91在线看www| 亚洲精品一区二三区不卡| 国产精品亚洲第一区| 91香蕉嫩草神马影院在线观看| 日韩美女中文字幕| 色视频www在线播放国产成人| 亚洲人成网7777777国产| 欧美日韩在线影院| 国产欧美一区二区三区视频| 色爱av美腿丝袜综合粉嫩av| 97婷婷涩涩精品一区| 久久高清视频免费| 久久在精品线影院精品国产| 91精品视频观看| 国产欧美久久久久久| 丝袜情趣国产精品| 精品国产成人av| 日本久久精品视频| 欧美成在线视频| 欧美国产日韩一区二区| 久久久www成人免费精品张筱雨| 69av在线播放| 久久亚洲精品小早川怜子66| 日韩电影在线观看免费| 国产精品va在线播放我和闺蜜| 福利精品视频在线| 国产suv精品一区二区| 亚洲字幕一区二区| 日韩精品免费电影| 韩日欧美一区二区| 亚洲精品视频二区| 国产精品一区=区| 国内精品视频一区| 91精品国产91久久| 国产成人精品免高潮在线观看| 精品激情国产视频| 国产精品视频一区二区高潮| 成人黄色影片在线| 欧美一区第一页| 欧美在线免费观看| 亚洲免费高清视频| 午夜精品久久久久久久久久久久| 久久久亚洲精选| 永久免费看mv网站入口亚洲| …久久精品99久久香蕉国产| 国产噜噜噜噜久久久久久久久| 国产精选久久久久久| 夜夜躁日日躁狠狠久久88av| 欧美福利视频在线| 中国china体内裑精亚洲片| 欧美巨大黑人极品精男| 色综久久综合桃花网| 国产成人精品电影久久久| 成人福利网站在线观看| 日韩电影中文 亚洲精品乱码| 亚洲第一色中文字幕| 国产精品久久久久久久天堂| 日韩av网站大全| 欧美精品电影免费在线观看| 欧美日韩国产成人在线| 久久久久久久电影一区| www.亚洲男人天堂| 成人免费福利视频| 久久精品国产一区二区电影| 中文字幕最新精品| 最近中文字幕日韩精品| 91免费欧美精品| 欧美俄罗斯性视频| 中文字幕日韩视频| 久久国产精品久久精品| 高跟丝袜欧美一区| 日韩高清免费在线| 色吧影院999| 精品激情国产视频| 日韩极品精品视频免费观看| 欧美黑人xxxⅹ高潮交| 亚洲视频网站在线观看| 欧美成人免费小视频| www.亚洲人.com| 国产婷婷色综合av蜜臀av| 欧美视频中文字幕在线| 国产精品aaa| 日韩一二三在线视频播| 97在线视频一区| 欧美午夜影院在线视频| 国内免费久久久久久久久久久| 国产伊人精品在线| 色噜噜狠狠狠综合曰曰曰| 久久手机精品视频| 91av免费观看91av精品在线| 国产日韩换脸av一区在线观看| 国语自产精品视频在线看抢先版图片| 久久久久国色av免费观看性色| 欧美成人激情视频免费观看| 国产精品日本精品| 亚洲欧美日韩精品| 中文字幕日韩综合av| 91精品免费视频| 国产精品欧美久久久| 欧美午夜激情在线| 久久影视电视剧免费网站清宫辞电视| 免费99精品国产自在在线| 久久99热精品| 精品国模在线视频| 久久久久久久国产精品视频|