一份gb2312.txt(184799字節)確實顯得太大了點,而且還要經unicode轉換。
這份對照表為51965字節,要小的多了。
對于無法使用iconv函數庫的場合還是很實用的。

<?php
//對照表的使用 " /> 99久久99视频,小明发看看加密通道2021,99在线精品视频在线观看

一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

不用iconv庫的gb2312與utf-8的互換函數


一份gb2312.txt(184799字節)確實顯得太大了點,而且還要經unicode轉換。
這份對照表為51965字節,要小的多了。
對于無法使用iconv函數庫的場合還是很實用的。

<?php
//對照表的使用
$filename = "gb2utf8.txt";
$fp = fopen($filename,"r");
while(! feof($fp)) {
list($gb,$utf8) = fgetcsv($fp,10);
$charset[$gb] = $utf8;
}
fclose($fp);
//以上讀取對照表到數組備用

/** gb2312到utf-8 **/
function gb2utf8($text, &$charset) {
//提取文本中的成分,漢字為一個元素,連續的非漢字為一個元素
preg_match_all("/(?:[/x80-/xff].)|[/x01-/x7f]+/",$text,$tmp);
$tmp = $tmp[0];
//分離出漢字
$ar = array_intersect($tmp, array_keys($charset));
//替換漢字編碼
foreach($ar as $k=>$v)
$tmp[$k] = $charset[$v];
//返回換碼后的串
return join('',$tmp);
}

/** utf-8到gb2312 **/
function utf82gb($text, &$charset) {
$p = "/[xf0-xf7][x80-xbf]{3}|[xe0-xef][x80-xbf]{2}|[xc2-xdf][x80-xbf]|[x01-x7f]+/";
preg_match_all($p,$text,$r);
$utf8 = array_flip($charset);
foreach($r[0] as $k=>$v)
if(isset($utf8[$v]))
$r[0][$k] = $utf8[$v];
return join('',$r[0]);
}

//測試
$s = gb2utf8('這是對照表的測試', $charset);
echo utf82gb($s, $charset);
?>

php技術不用iconv庫的gb2312與utf-8的互換函數,轉載需保留來源!

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

主站蜘蛛池模板: 国产精品免费看 | 国产精品一级片 | 六月婷婷开开放处 | 国产高清国内精品福利 | 99热在这里只有免费精品 | 成人午夜视频在线观看 | 国产一级久久免费特黄 | 久热香蕉视频 | 国产91对白在线 | 激情九九| 91精品福利在线 | 亚洲伊人久久大香线蕉结合 | 欧美性在线播放 | 久久久久久88色愉愉 | 蕾丝视频成人★在线观看 | 精品伊人久久久香线蕉 | 日韩一区二区三区中文字幕 | 91福利国产在线观看网站 | 久久视热这只是精品222 | 成年美女黄网站色大片视频 | 欧美黄色第一页 | 亚洲精品视频在线免费 | 精品久久久久久中文字幕网 | 亚洲精品欧美 | 久久久久久久亚洲精品 | 亚洲欧洲无码一区二区三区 | 激情文学小说区另类小说同性 | 亚洲人成人 | 成年女人免费又黄又爽视频 | 成人国产在线24小时播放视频 | 一区二区三区舞蹈区 | 国产91在线免费观看 | 一级成人| 日韩三级一区二区 | 成年网站未满十八禁毛片免费 | 欧美成人福利 | 国产精品视频一区二区三区小说 | 欧美日韩亚洲人人夜夜澡 | 日韩中文字幕免费在线观看 | 亚色在线播放 | 亚洲狠狠97婷婷综合久久久久 |