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

PHP 字符串函數大全:12 大分類 50+ 函數速查與實戰指南

     編輯:PHP 綜合知識

1. 位置查找函數

函數說明大小寫敏感
strpos($haystack, $needle, $offset)首次出現位置是
stripos($haystack, $needle, $offset)首次出現位置否
strrpos($haystack, $needle, $offset)最後出現位置是
strripos($haystack, $needle, $offset)最後出現位置否

注意: 返回 0 表示在開頭,需用 === false 判斷未找到。

2. 子字符串提取(雙字節安全)

函數說明
substr($str, $start, $length)按位置長度截取,負數從末尾計算
mb_substr($str, $start, $length, $encoding)多字節編碼安全版本
strstr($haystack, $needle, $before_needle)從 needle 首次出現處截取到末尾/開頭
stristr()strstr 不區分大小寫版
strrchr($haystack, $needle)從 needle 最後出現處截取到末尾,常用於取文件名

3. 字符串替換

函數說明大小寫敏感
str_replace($search, $replace, $subject, $count)批量替換,$count 返回替換次數是
str_ireplace()不區分大小寫版否
substr_replace($str, $replace, $start, $length)按位置長度替換是
strtr($str, $from, $to) / strtr($str, $pairs)字符級映射替換,$replace 不能為空是

4. 長度計算

strlen($str)        // 字節長度
mb_strlen($str, $encoding)  // 字符長度(多字節安全)

5. 字符串比較

6. 分割為數組

函數說明返回值
strcmp($a, $b)二進制安全比較<0, 0, >0
strcasecmp()不區分大小寫<0, 0, >0
strnatcmp($a, $b)自然排序比較('2' < '10')<0, 0, >0
strnatcasecmp()自然排序+不區分大小寫<0, 0, >0
函數說明推薦度
explode($delimiter, $str, $limit)字符串分隔符分割,速度最快★★★★★
str_split($str, $length)固定長度分割★★★★☆
preg_split($pattern, $str, $limit, $flags)正則分割,功能最強★★★★☆
split($pattern, $str, $limit)已棄用/移除(PHP 7+)❌

7. 空白處理

trim($str, $charlist)   // 兩端
ltrim($str, $charlist)  // 左端
rtrim($str, $charlist)  // 右端

8. 字符插入

chunk_split($str, $chunklen, $end)  // 每 $chunklen 字符插入 $end(默認 \r\n)

9. ASCII 互轉

chr($ascii)    // 數字轉字符
ord($char)     // 字符轉 ASCII

10. HTML 相關

函數說明
nl2br($str, $is_xhtml)\n 轉
/
strip_tags($str, $allowable_tags)去除 HTML/PHP 標籤,可保留指定標籤
htmlspecialchars($str, $flags, $encoding)特殊字符轉實體(& < > " ')
htmlentities($str, $flags, $encoding)所有可轉實體字符全部轉換
htmlspecialchars_decode() / html_entity_decode()反向解碼

11. 大小寫轉換

strtolower($str)   // 全小寫
strtoupper($str)   // 全大寫
ucfirst($str)      // 首字符大寫
ucwords($str)      // 每個單詞首字母大寫
mb_strtolower() 等多字節版本

12. 數據庫/安全相關

函數/常量說明
addslashes($str)' " \ NUL 前加反斜杠
stripslashes($str)移除反斜杠
magic_quotes_gpc (已移除 PHP 5.4+)自動轉義 GET/POST/COOKIE,勿依賴
get_magic_quotes_gpc()檢測是否開啟(已恆返回 false)

現代最佳實踐建議

  1. 多字節環境統一用 mb_* 系列,設置 mb_internal_encoding('UTF-8')
  2. 分割優先用 explode(),非正則場景禁用 preg_split
  3. 輸出 HTML 必須 htmlspecialchars(),防 XSS
  4. 數據庫交互用預處理語句,勿用 addslashes 手動轉義
  5. 棄用 split()/ereg 系列,全面遷移到 PCRE (preg_*)
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved