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

PHP 字符串處理函數大全:51 個常用函數詳解與應用場景

     編輯:PHP 綜合知識

在 PHP 開發中,字符串操作是最基礎也最頻繁的任務。從簡單的長度計算、大小寫轉換,到複雜的加密、編碼、正則匹配,PHP 內置了豐富的字符串函數庫。本文系統梳理了 51 個核心字符串處理函數,按功能分類並附帶說明,幫助開發者快速查閱與選型。

一、字符串長度與編碼轉換

  • strlen:獲取字符串長度(按字節)。
  • chr / ord:ASCII 碼與字符互轉。
  • bin2hex / hex2bin:二進制與十六進制互轉。
  • convert_cyr_string:西里爾字符集轉換(已棄用,建議用 mb_convert_encoding)。

二、字符串查找與比較

  • strpos / strrpos:查找字符首次/最後出現位置(區分大小寫)。
  • stripos / strripos:不區分大小寫版本。
  • strstr / strchr:從首次出現處截取到結尾。
  • strrchr:從最後一次出現處截取到結尾。
  • strcmp / strcasecmp:二進制安全比較(區分/不區分大小寫)。
  • strnatcmp / strnatcasecmp:自然排序算法比較。
  • similar_text:計算相似度百分比。
  • soundex / metaphone:按發音編碼,用於模糊匹配。

三、字符串截取與分割

  • substr:按位置/長度截取(支援負數)。
  • str_split:按固定長度分割為數組。
  • explode / strtok:按分隔符分割(explode 返回數組,strtok 迭代式)。
  • chunk_split:將字符串分成小塊(如 Base64 編碼換行)。
  • parse_str:將查詢字符串解析為變量。

四、字符串替換與清理

  • str_replace / str_ireplace:批量替換(不區分大小寫)。
  • strtr:單字符或子串映射替換,速度更快。
  • substr_replace:指定範圍替換。
  • trim / ltrim / rtrim / chop:去除首尾空白字符(chop 為 rtrim 別名)。
  • strip_tags:剝離 HTML/PHP 標籤。
  • addslashes / stripslashes:反斜線轉義與還原(資料庫入庫常用)。
  • quotemeta:為正則元字符加反斜線。

五、大小寫與格式化

  • strtolower / strtoupper:全局大小寫轉換。
  • ucfirst / ucwords:首字母/每個單詞首字母大寫。
  • printf / sprintf / vprintf / vsprintf:格式化輸出/返回。
  • number_format:千分位格式化數字。
  • nl2br:換行符轉 <br>。
  • wordwrap:按寬度換行。
  • strrev:字符串反轉。

六、HTML 與 URL 編碼

  • htmlspecialchars:特殊字符轉實體(防 XSS 必用)。
  • htmlentities:所有字符轉實體。
  • htmlspecialchars_decode / html_entity_decode:反向解碼。
  • urlencode / rawurlencode:URL 編碼(空格為 + / %20)。
  • urldecode / rawurldecode:URL 解碼。

七、加密與哈希

  • md5 / sha1:單向哈希(不建議用於密碼)。
  • crypt / password_hash / password_verify:現代密碼加密 API(PHP 5.5+)。

八、輸出與緩衝控制

  • echo / print:直接輸出(print 返回 1)。
  • flush / ob_flush / ob_start 系列:輸出緩衝管理。

九、數組與字符串互轉

  • implode / join:數組按分隔符合併為字符串。
  • explode:字符串分割為數組(見上)。

十、其他實用函數

  • get_meta_tags:解析文件 <meta> 標籤。
  • setlocale:設置地區化信息(影響 strftime 等)。
  • quoted_printable_decode:MIME quoted-printable 解碼。

選型建議與最佳實踐

  1. 多字節字符串:處理中文等非 ASCII 字符請優先使用 mb_* 系列(mb_strlen、mb_substr、mb_strpos 等)。
  2. 性能敏感場景:strtr 單字符替換比 str_replace 快;strpos 判斷存在性優於 preg_match。
  3. 安全第一:輸出到 HTML 必須 htmlspecialchars;SQL 參數化查詢優於 addslashes;密碼請用 password_hash。
  4. 編碼一致性:全項目統一 UTF-8,入庫、輸出、頁面 <meta charset="utf-8"> 三方一致。

掌握這 51 個函數的核心差異與適用場景,能顯著提升 PHP 字符串處理的效率與代碼質量。建議收藏備查,實戰中結合 mbstring 擴展與現代安全 API 靈活組合。

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