ThinkPHP 內建了大量實用的字串處理與輔助函數,能大幅簡化開發工作。本文彙整了框架中常用的字串截取、隨機生成、驗證碼、位元組格式化、編碼檢測、程式碼高亮、HTML 安全輸出、UBB 解析、陣列樹狀轉換、資料排序搜尋等核心函數,供開發者快速查閱參考。
msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)
模板中調用範例:
{$vo.title|msubstr=5,5,'utf-8',false}
解釋:從第 5 個字元開始,截取 5 個字元,UTF-8 編碼,不顯示省略號。
is_utf8($string)
回傳布林值,判斷字串是否為合法 UTF-8 編碼。
rand_string($len=6, $type='', $addChars='')
type 參數說明:
$addChars:附加自定義字元集
build_verify($length=4, $mode=1)
mode 用法同 rand_string 的 type 參數。
byte_format($size, $dec=2)
將位元組數轉換為 B、KB、MB、GB、TB 等易讀單位。
highlight_code($str, $show=false)
對程式碼字串進行語法高亮處理。
h($text, $tags=null)
過濾危險標籤,輸出安全的 HTML 內容。
ubb($Text)
支援基本的 UBB 標籤轉換為 HTML。
remove_xss($val)
移除 HTML 代碼中潛在的 XSS 攻擊代碼。
list_to_tree($list, $pk='id', $pid='pid', $child='_child', $root=0)
_childlist_sort_by($list, $field, $sortby='asc')
sortby 可選值: asc(正序)、desc(倒序)、nat(自然排序)
list_search($list, $condition)
支援陣列條件 array('var1'=>'value1') 與 URL 格式 var1=value1&var2=value2,也支援正則 array('name'=>'/[A-Z]/')。
get_client_ip()
send_http_status($status)
例如 302、404 等狀態碼。
熟練掌握這些函數,能讓 ThinkPHP 開發更加高效、安全、優雅。