一份gb2312.txt(184799位元組)確實顯得太大了點,而且還要經unicode轉換。
這份對照表為51965字節,要小的多了。
對於無法使用iconv函式庫的場合還是很實用的。
//對照表的使用
$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中的crypt()和password_hash()的差異,以進行密碼哈希,重點介紹其實施,安全性和對現代Web應用程序的適用性。

文章討論了通過輸入驗證,輸出編碼以及使用OWASP ESAPI和HTML淨化器之類的工具來防止PHP中的跨站點腳本(XSS)。

自動加載PHP會在需要時自動加載類文件,從而通過減少內存使用和增強代碼組織來提高性能。最佳實踐包括使用PSR-4和有效組織代碼。

本文討論了在PHP中管理文件上傳大小的管理,重點是2MB的默認限制以及如何通過修改PHP.INI設置來增加它。

本文討論了PHP 7.1中引入的PHP中的無效類型,允許變量或參數為指定類型或NULL。它突出顯示了諸如提高可讀性,類型安全性和明確意圖的好處,並解釋瞭如何聲明

本文討論了unset()和unlink()功能在編程中的差異,重點關注其目的和用例。 unset()從內存中刪除變量,而unlink()從文件系統中刪除文件。兩者都對效率至關重要


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

Safe Exam Browser
Safe Exam Browser是一個安全的瀏覽器環境,安全地進行線上考試。該軟體將任何電腦變成一個安全的工作站。它控制對任何實用工具的訪問,並防止學生使用未經授權的資源。

EditPlus 中文破解版
體積小,語法高亮,不支援程式碼提示功能

SublimeText3 Linux新版
SublimeText3 Linux最新版

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

PhpStorm Mac 版本
最新(2018.2.1 )專業的PHP整合開發工具