在 PHP 開發中,字符串處理是基礎且高頻的操作。掌握核心函數能顯著提升開發效率,尤其在表單驗證、數據清洗等場景中。
strstr() 用於查找字符串在另一字符串中首次出現的位置,並返回從該位置到字符串結尾的子串。區分大小寫;stristr() 為不區分大小寫版本。常用於簡單的關鍵詞檢測。
strpos() 返回目標字符串首次出現的數字索引(從 0 開始),若未找到返回 false。注意:必須使用 === false 判斷,因為位置 0 會被視為 false。stripos() 為不區分大小寫版本。表單驗證中常用於檢測禁止字符或格式檢查。
substr(string, start, length) 截取子字符串。start 為負數時從末尾倒數;length 為負數時表示截取到倒數第幾個字符前。多語言環境下建議使用 mb_substr() 避免亂碼。
PHP 通過 PCRE 庫提供強大的正則功能,常用函數包括:
preg_match():執行單次匹配,返回 0/1/falsepreg_match_all():全局匹配,返回所有匹配結果陣列preg_grep():對陣列元素進行正則篩選,返回匹配的元素組成的新陣列preg_replace():正則替換,支持回調函數正則模式需用分隔符包裹(如 /pattern/),常用修飾符:i(不區分大小寫)、m(多行)、s(單行/點號匹配換行)、u(UTF-8 模式)。
正確設置字符編碼至關重要,避免亂碼:
<?php
// 推薦:在輸出前設置 HTTP 頭
header('Content-Type: text/html; charset=utf-8');
// 或在 php.ini 設置
// default_charset = "UTF-8"
?>
內部處理統一使用 UTF-8,涉及多字節字符串操作時,優先使用 mb_* 系列函數(mb_strlen, mb_substr, mb_strpos 等)。