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

PHP 字符串函數大全分類速查表

     編輯:PHP 相關知識

分類索引

PHP 提供超過 100 個字符串函數,按功能分類如下:

1. 查找與定位

函數說明
strpos, stripos查找首次出現位置(區分/不區分大小寫)
strrpos, strripos查找最後一次出現位置
strstr, stristr, strchr從首次出現處返回到結尾
strrchr從最後一次出現處返回到結尾
strspn, strcspn字符串中僅包含/不包含指定字符集的初始段長度

2. 子串提取

函數說明
substr按位置/長度提取(字節級)
mb_substr多字節編碼安全提取
substr_replace替換字符串一部分

3. 替換與轉換

函數說明
str_replace, str_ireplace批量替換(區分/不區分大小寫),支持數組
substr_replace按位置替換
strtr字符級轉換,支持數組映射
strtolower, strtoupper全小寫/大寫
ucfirst, lcfirst首字符大/小寫
ucwords每個單詞首字母大寫
mb_strtolower 等多字節版本

4. 比較與排序

函數說明
strcmp, strcasecmp二元比較(區分/不區分大小寫)
strnatcmp, strnatcasecmp自然排序比較 (2 < 10)
strncmp, strncasecmp比較前 n 字符
similar_text計算相似度百分比
soundex, metaphone發音編碼比較

5. 分割與合併

函數說明
explode按分隔符分割為數組
implode, join數組合併為字符串
str_split按固定長度分割
preg_split正則分割
parse_str查詢字符串解析為變量

6. 空白與格式化

函數說明
trim, ltrim, rtrim, chop去除兩端/左/右空白(默認空白字符集)
nl2br換行符轉 <br>
wordwrap按寬度換行
chunk_split按長度分割並插入分隔符
printf, sprintf, vprintf格式化輸出

7. 編碼與轉義

函數說明
htmlspecialchars, htmlentitiesHTML 實體編碼
htmlspecialchars_decode, html_entity_decode解碼
addslashes, stripslashes添加/移除反斜槓
addcslashes, stripcslashes自定義字符集添加/移除反斜槓
quotemeta正則元字符轉義
urlencode, urldecode, rawurlencode, rawurldecodeURL 編碼/解碼
base64_encode, base64_decodeBase64
md5, sha1, hash, hash_hmac哈希摘要
mb_convert_encoding, iconv字符編碼轉換

8. 其他實用

函數說明
strlen, mb_strlen長度(字節/字符)
strrev反轉字符串
str_shuffle隨機打亂
strip_tags移除 HTML/PHP 標籤
crypt, password_hash, password_verify密碼哈希(推薦 password_* 系列)
get_html_translation_table獲取 HTML 實體轉換表
money_format, number_format貨幣/數字格式化
chr, ordASCII 碼與字符互轉

常用組合模式

<?php
// 1. 生成 URL 友好 slug
function slugify($str) {
    $str = mb_strtolower($str, 'UTF-8');
    $str = preg_replace('/[^\p{L}\p{N}\s-]/u', '', $str); // 保留字母數字空格連字符
    $str = preg_replace('/[\s-]+/', '-', $str);
    return trim($str, '-');
}

// 2. 截取並保留完整單詞
function excerpt($text, $len = 100) {
    if (mb_strlen($text) <= $len) return $text;
    $excerpt = mb_substr($text, 0, $len);
    $lastSpace = mb_strrpos($excerpt, ' ');
    return $lastSpace ? mb_substr($excerpt, 0, $lastSpace) . '...' : $excerpt . '...';
}

// 3. 安全輸出 HTML 內容
function h($str) {
    return htmlspecialchars($str, ENT_QUOTES | ENT_SUBSTITUTE, 'UTF-8');
}
?>

總結

  • 核心場景:查找用 strpos,替換用 str_replace,截取用 mb_substr,輸出用 htmlspecialchars,分割用 explode,合併用 implode。
  • 多字節字符串必須用 mb_* 族函數。
  • 正則操作用 preg_* 系列,簡單操作優先用字符串函數(性能優勢巨大)。
  • 密碼處理只用 password_hash/password_verify,禁用 md5/sha1/crypt。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved