国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > PHP > 正文

PHP實(shí)現(xiàn)全角字符轉(zhuǎn)為半角方法匯總

2020-03-24 18:56:51
字體:
供稿:網(wǎng)友
php $str = "0123ABCDFWS\",.?<>{}[]*&^%#@!~()+-|:;"; echo "$str"; echo " br / $str = preg_replace('//xa3([/xa1-/xfe])/e', 'chr(ord(/1)-0x80)', $str); echo $str;這是網(wǎng)上看來的代碼,所有的中文標(biāo)點(diǎn)的第二個(gè)字節(jié)減去0X80(即128)所得的數(shù)字就是半角所得的數(shù)字了。而/e模式表達(dá)的是:如果設(shè)定了此修正符,preg_replace() 在替換字符串中對(duì)逆向引用作正常的替換,將其作為 PHP 代碼求值,并用其結(jié)果來替換所搜索的字符串。在非UTF-8模式下這個(gè)函數(shù)是可行的,但是UTF-8下 這個(gè)方法就似乎無效,方法二:
$queue = 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');echo preg_replace_callback("/([/xEF][/xBC][/x90-/x99]|[/xEF][/xBD][/x81-/x9A/xA1-/xBA])/", 'next_fchar', '0');function next_fchar($matches){ global $queue; return $queue[$matches[1]];方法三:* 字符串半角和全角間相互轉(zhuǎn)換* @param string $str 待轉(zhuǎn)換的字符串* @param int $type TODBC:轉(zhuǎn)換為半角;TOSBC,轉(zhuǎn)換為全角* @return string 返回轉(zhuǎn)換后的字符串function convertStrType($str, $type) { $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($type == 'TODBC'){return str_replace( $sbc, $dbc, $str ); //半角到全角}elseif($type == 'TOSBC'){return str_replace( $dbc, $sbc, $str ); //全角到半角}else{return $str;方法四:
* 將一個(gè)字串中含有全角的數(shù)字字符、字母、空格或'%+-()'字符轉(zhuǎn)換為相應(yīng)半角字符* @access html' target='_blank'>public* @param string $str 待轉(zhuǎn)換字串* @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);全角與半角之區(qū)別(來自中文維基百科)全角,又稱全形、全寬,是電腦字符的一種格式,字面意思是比普通字符(或半角字符)寬的字符。傳統(tǒng)上,英語或拉丁字母語言使用一字節(jié)的空間來存儲(chǔ),而漢字、日語等常使用兩字節(jié)存儲(chǔ),在使用固定寬度文字的地方,為了使字體看起來整齊,英文字母、數(shù)字及其他符號(hào),也由原來只占用一個(gè)字空間,改為一概占用兩個(gè)字的空間來顯示,并且使用兩個(gè)字節(jié)來存儲(chǔ)。以上所述就是本文的全部內(nèi)容了,希望大家能夠喜歡。PHP教程

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時(shí)間聯(lián)系我們修改或刪除,多謝。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 泾川县| 株洲市| 岫岩| 大竹县| 宁强县| 福清市| 积石山| 彰化市| 通化县| 文登市| 汽车| 溧阳市| 璧山县| 平原县| 通海县| 永济市| 曲松县| 安阳县| 繁峙县| 温宿县| 沂水县| 罗城| 尉犁县| 化德县| 高要市| 突泉县| 肥乡县| 靖西县| 扶风县| 永顺县| 太保市| 南江县| 昌黎县| 柯坪县| 平乐县| 宜宾县| 社会| 迁安市| 怀安县| 西盟| 如皋市|