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

首頁 > 網站 > 建站經驗 > 正文

PHP實現全角字符轉為半角方法匯總

2024-04-25 20:38:43
字體:
來源:轉載
供稿:網友

最簡單的方法

<?php

$str = "0123ABCDFWS\",.?<>{}[]*&^%#@!~()+-|:;";

echo "$str";

echo "<br />";

$str = preg_replace('//xa3([/xa1-/xfe])/e', 'chr(ord(/1)-0x80)', $str);

echo $str;

這是網上看來的代碼,所有的中文標點的第二個字節減去0X80(即128)所得的數字就是半角所得的數字了。而/e模式表達的是:如果設定了此修正符,preg_replace() 在替換字符串中對逆向引用作正常的替換,將其作為 PHP 代碼求值,并用其結果來替換所搜索的字符串。

在非UTF-8模式下這個函數是可行的,但是UTF-8下 這個方法就似乎無效,

方法二:

$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]];

}

方法三:

/**

* 字符串半角和全角間相互轉換

* @param string $str 待轉換的字符串

* @param int $type TODBC:轉換為半角;TOSBC,轉換為全角

* @return string 返回轉換后的字符串

*/

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;

}

}

方法四:

/**

* 將一個字串中含有全角的數字字符、字母、空格或'%+-()'字符轉換為相應半角字符

*

* @access public

* @param string $str 待轉換字串

*

* @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);

}

全角與半角之區別(來自中文維基百科)

全角,又稱全形、全寬,是電腦字符的一種格式,字面意思是比普通字符(或半角字符)寬的字符。

傳統上,英語或拉丁字母語言使用一字節的空間來存儲,而漢字、日語等常使用兩字節存儲,在使用固定寬度文字的地方,為了使字體看起來整齊,英文字母、數字及其他符號,也由原來只占用一個字空間,改為一概占用兩個字的空間來顯示,并且使用兩個字節來存儲。

以上所述就是本文的全部內容了,希望大家能夠喜歡。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美精品videossex性护士| 久久亚洲精品国产亚洲老地址| 日韩av大片在线| 亚洲欧美在线一区二区| 亚洲成年人在线播放| 国产精品一区二区三区成人| 日韩欧美国产黄色| 久久精品国产一区二区电影| 日韩中文字幕视频在线观看| 欧美激情国产高清| 51久久精品夜色国产麻豆| 国产午夜精品理论片a级探花| 精品久久久久久久久久| 狠狠躁天天躁日日躁欧美| 亚洲电影第1页| 亚洲а∨天堂久久精品9966| 日韩中文字幕在线视频播放| 亚洲视频在线看| 精品国产欧美一区二区三区成人| 中文字幕自拍vr一区二区三区| 亚洲视屏在线播放| 亚洲国产成人久久综合一区| 91精品国产777在线观看| 久久av红桃一区二区小说| 精品一区二区三区四区在线| 欧美亚洲视频在线观看| 久久综合电影一区| 黑人巨大精品欧美一区免费视频| 在线播放亚洲激情| 成人网页在线免费观看| 国产成人精品久久久| 91禁国产网站| 国产精品流白浆视频| 懂色aⅴ精品一区二区三区蜜月| 欧美精品在线第一页| 97超碰色婷婷| 久久激情视频免费观看| 日韩中文字幕在线视频| 欧美性猛交xxxx富婆弯腰| 亚洲自拍在线观看| 国产精品成久久久久三级| 清纯唯美日韩制服另类| 亚洲欧美日韩区| 午夜精品久久久99热福利| 九九热这里只有精品免费看| 97国产精品免费视频| 日韩中文字幕视频在线观看| 欧美有码在线视频| 国外日韩电影在线观看| 国产成人激情视频| 欧美国产日韩一区二区三区| 国产美女搞久久| 久久精品久久精品亚洲人| 日韩欧美国产成人| 亚洲日韩欧美视频| 日韩毛片在线观看| 国产精品日韩电影| 亚洲最新av网址| 国产a级全部精品| 国产视频久久久久| 久久综合伊人77777| 亚洲精品网站在线播放gif| 亚洲精品成人免费| 午夜剧场成人观在线视频免费观看| 国产欧美一区二区三区久久| 亚洲电影在线观看| 久久久久久久久久久久久久久久久久av| 久久天天躁日日躁| 岛国av一区二区三区| 欧美高清电影在线看| 欧美黑人国产人伦爽爽爽| 欧美理论电影在线播放| 国内精品久久久久影院 日本资源| 久久成人精品一区二区三区| 成人午夜一级二级三级| 亚洲一区av在线播放| 在线播放国产一区中文字幕剧情欧美| 亚洲国产小视频在线观看| 国产98色在线| 亚洲福利视频在线| 美女久久久久久久| 精品久久久国产| 亚洲xxxx在线| 亚洲国产美女精品久久久久∴| 国产成人自拍视频在线观看| 亚洲第一中文字幕在线观看| 国产美女搞久久| 久久人人97超碰精品888| 日韩电影免费观看在线观看| 亚洲国产精品系列| 91精品啪在线观看麻豆免费| 久久国产精品视频| 亚洲肉体裸体xxxx137| 国产精品国产三级国产aⅴ浪潮| 欧美成人免费观看| 国产99久久精品一区二区 夜夜躁日日躁| 久久精品国产一区| 中文字幕亚洲欧美日韩2019| 911国产网站尤物在线观看| 91精品啪在线观看麻豆免费| 日本一区二区三区四区视频| 欧美人交a欧美精品| 亚洲qvod图片区电影| 91久久在线视频| 国产精品久久久久久久9999| 欧美裸身视频免费观看| 国产精彩精品视频| 日本韩国欧美精品大片卡二| 91大神福利视频在线| 久久乐国产精品| 久久成人免费视频| 狠狠色噜噜狠狠狠狠97| 久久久久99精品久久久久| 国产成人精品999| 成人黄色激情网| 欧美日韩美女在线| 欧美电影电视剧在线观看| 久久久爽爽爽美女图片| 亚洲女人天堂成人av在线| 一区二区三区精品99久久| 国产成人拍精品视频午夜网站| 亚洲一区二区三区视频播放| 国模极品一区二区三区| 国产91av在线| 伊人伊成久久人综合网站| 日韩电影网在线| 欧美日韩国产一区在线| 亚洲裸体xxxx| 97av在线播放| 免费91麻豆精品国产自产在线观看| 亚洲国产精品推荐| 日韩精品黄色网| 日韩视频在线观看免费| 国产精品久久久久久久久久久久久| 久久中文字幕在线视频| 日韩一二三在线视频播| 成人h片在线播放免费网站| 久青草国产97香蕉在线视频| 中文字幕亚洲综合久久| 欧美大码xxxx| 亚洲嫩模很污视频| 一个人看的www欧美| 国内精品久久久久影院优| 欧美国产日韩免费| 亚洲国产成人精品女人久久久| 日韩在线免费视频| 亚洲综合av影视| 精品久久久视频| 欧美中文在线视频| 97人人模人人爽人人喊中文字| 久久免费观看视频| 色先锋资源久久综合5566| 夜夜嗨av色综合久久久综合网| 欧美成人中文字幕在线| 在线中文字幕日韩| 亚洲一区国产精品| 国产精品自产拍在线观看中文| 热re99久久精品国产66热| 97香蕉超级碰碰久久免费软件| 欧美激情精品久久久久久变态| 精品久久久久久中文字幕大豆网| 538国产精品一区二区免费视频| 午夜精品一区二区三区在线视频| 亚洲国内高清视频|