首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 網頁程式設計 >> PHP 程式設計 >> PHP 綜合知識

ThinkPHP 常用字串處理與工具函數完整速查表

     編輯:PHP 綜合知識

ThinkPHP 內建了大量實用的字串處理與輔助函數,能大幅簡化開發工作。本文彙整了框架中常用的字串截取、隨機生成、驗證碼、位元組格式化、編碼檢測、程式碼高亮、HTML 安全輸出、UBB 解析、陣列樹狀轉換、資料排序搜尋等核心函數,供開發者快速查閱參考。

一、字串截取與編碼處理

msubstr - 多位元組字串截取

msubstr($str, $start=0, $length, $charset="utf-8", $suffix=true)
  • $str:待截取字串
  • $start:起始位置,預設 0
  • $length:截取長度
  • $charset:字元編碼,預設 UTF-8
  • $suffix:是否顯示省略號,預設 true

模板中調用範例:

{$vo.title|msubstr=5,5,'utf-8',false}

解釋:從第 5 個字元開始,截取 5 個字元,UTF-8 編碼,不顯示省略號。

is_utf8 - 檢測 UTF-8 編碼

is_utf8($string)

回傳布林值,判斷字串是否為合法 UTF-8 編碼。

二、隨機字串與驗證碼生成

rand_string - 產生隨機字串

rand_string($len=6, $type='', $addChars='')

type 參數說明:

  • 0:字母
  • 1:數字
  • 2:大寫字母
  • 3:小寫字母
  • 4:中文
  • 5:混合(已移除易混淆字元 oOLl、01)

$addChars:附加自定義字元集

build_verify - 建立驗證碼

build_verify($length=4, $mode=1)

mode 用法同 rand_string 的 type 參數。

三、格式化與安全輸出

byte_format - 位元組格式化

byte_format($size, $dec=2)

將位元組數轉換為 B、KB、MB、GB、TB 等易讀單位。

highlight_code - 程式碼高亮

highlight_code($str, $show=false)

對程式碼字串進行語法高亮處理。

h - 安全 HTML 輸出

h($text, $tags=null)

過濾危險標籤,輸出安全的 HTML 內容。

ubb - UBB 代碼解析

ubb($Text)

支援基本的 UBB 標籤轉換為 HTML。

remove_xss - XSS 攻擊過濾

remove_xss($val)

移除 HTML 代碼中潛在的 XSS 攻擊代碼。

四、陣列資料結構操作

list_to_tree - 列表轉樹狀陣列

list_to_tree($list, $pk='id', $pid='pid', $child='_child', $root=0)
  • $list:查詢結果陣列
  • $pk:主鍵名
  • $pid:父鍵名
  • $child:子列表鍵名,預設 _child
  • $root:根節點主鍵值

list_sort_by - 陣列排序

list_sort_by($list, $field, $sortby='asc')

sortby 可選值: asc(正序)、desc(倒序)、nat(自然排序)

list_search - 陣列搜尋

list_search($list, $condition)

支援陣列條件 array('var1'=>'value1') 與 URL 格式 var1=value1&var2=value2,也支援正則 array('name'=>'/[A-Z]/')。

五、HTTP 與客戶端資訊

get_client_ip - 獲取客戶端 IP

get_client_ip()

send_http_status - 發送 HTTP 狀態碼

send_http_status($status)

例如 302、404 等狀態碼。

六、建議與最佳實踐

  1. 優先使用框架內建函數:避免重複造輪子,減少維護成本
  2. 字串截取注意編碼:中文環境務必指定 UTF-8,避免亂碼
  3. 隨機字串用於 Token/驗證碼:type=5 混合模式安全性較高
  4. 輸出前必經 h() 或 remove_xss():防範 XSS 攻擊
  5. 大量資料排序搜尋:善用 list_sort_by 與 list_search 替代 SQL 複雜查詢

熟練掌握這些函數,能讓 ThinkPHP 開發更加高效、安全、優雅。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved