修改過DZ論壇程序的朋友都會發覺有些頁面會存在$discuz_action這個變量,有些頁面卻沒有
那到底它是做什麼用的呢?原來它是給用戶的活動動作進行記錄用的
這個變量是寫入cdb_sessions數據表action字段用的
然後通過在線用戶member.php?action=online時讀取並調用templates/default/actions.lang.php中的$actioncode數組變量
進行中文回顯給用戶瞭解某用戶處於何種動作用的。
- // Returns true if $string is valid UTF-8 and false otherwise.
- function is_utf8($word)
- {
- if (preg_match("/^([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){1}$/",$word) == true || preg_match("/([".chr(228)."-".chr(233)."]{1}[".chr(128)."-".chr(191)."]{1}[".chr(128)."-".chr(191)."]{1}){2,}/",$word) == true)
- {
- return true;
- }
- else
- {
- return false;
- }
- } // function is_utf8
// 經常遇到這種情況,需要對URL中的字符串進行解碼,例如Google中搜索“編碼”,"編碼"會轉換爲
%E7%BC%96%E7%A0%81,使用的是utf-8編碼
// 綜合了網上搜集的資料和GB/UTF-8編碼方法,判斷一箇中英文混雜的字符串是用GB2312/GBK編碼還是UTF-8編碼
// 返回: true - 含GB編碼 false - 爲UTF-8編碼
function is_gb2312($str)
{
for($i=0; $i<strlen($str); $i++) {
$v = ord( $str[$i] );
if( $v > 127) {
if( ($v >= 228) && ($v <= 233) )
{
if( ($i+2) >= (strlen($str) - 1)) return true; // not enough characters
$v1 = ord( $str[$i+1] );
$v2 = ord( $str[$i+2] );
if( ($v1 >= 128) && ($v1 <=191) && ($v2 >=128) && ($v2 <= 191) ) // utf編碼
return false;
else
return true;
}
}
}
return true;
}