PHP处理字符串的常用函数
封面图
•
2025-10-29
•
PHP
180
0
0
0
在 PHP 中,处理字符串是非常常见的操作。PHP 提供了丰富的内置函数来处理字符串,下面是一些**常用的 PHP 字符串处理函数**,并附上简要说明和示例: --- ## 一、字符串长度相关 | 函数 | 说明 | 示例 | |------|------|------| | `strlen($str)` | 获取字符串长度(字节数) | `echo strlen("Hello"); // 5` | | `mb_strlen($str)` | 多字节字符的字符串长度(支持中文等) | `echo mb_strlen("你好", "UTF-8"); // 2` | --- ## 二、字符串拼接与替换 | 函数 | 说明 | 示例 | |------|------|------| | `str_replace($search, $replace, $subject)` | 替换字符串中的某些字符 | `echo str_replace("world", "PHP", "Hello world"); // Hello PHP` | | `substr($string, $start, $length)` | 截取字符串的一部分 | `echo substr("Hello world", 0, 5); // Hello` | | `strpos($haystack, $needle)` | 查找子字符串的位置 | `echo strpos("Hello world", "world"); // 6` | | `stripos($haystack, $needle)` | 不区分大小写的查找 | `echo stripos("Hello World", "world"); // 6` | | `strrpos($haystack, $needle)` | 查找子字符串的最后位置 | `echo strrpos("Hello world world", "world"); // 12` | | `strrev($string)` | 反转字符串 | `echo strrev("Hello"); // olleH` | | `str_shuffle($string)` | 随机打乱字符串 | `echo str_shuffle("abcde"); // 可能输出 "ecdba"` | | `str_pad($input, $pad_length, $pad_string)` | 填充字符串到指定长度 | `echo str_pad("Hello", 10, "-"); // Hello-----` | --- ## 三、字符串转换 | 函数 | 说明 | 示例 | |------|------|------| | `strtolower($string)` | 转换为小写 | `echo strtolower("HELLO"); // hello` | | `strtoupper($string)` | 转换为大写 | `echo strtoupper("hello"); // HELLO` | | `ucfirst($string)` | 首字母大写 | `echo ucfirst("hello"); // Hello` | | `ucwords($string)` | 每个单词首字母大写 | `echo ucwords("hello world"); // Hello World` | | `trim($string)` | 去除字符串两端的空白 | `echo trim(" Hello "); // Hello` | | `ltrim($string)` | 去除左边空白 | `echo ltrim(" Hello"); // Hello` | | `rtrim($string)` | 去除右边空白 | `echo rtrim("Hello "); // Hello` | | `htmlspecialchars($string)` | 将特殊字符转换为 HTML 实体 | `echo htmlspecialchars("<b>Hello</b>"); // <b>Hello</b>` | --- ## 四、字符串比较 | 函数 | 说明 | 示例 | |------|------|------| | `strcmp($str1, $str2)` | 比较两个字符串(区分大小写) | `echo strcmp("a", "b"); // -1` | | `strcasecmp($str1, $str2)` | 不区分大小写的比较 | `echo strcasecmp("A", "a"); // 0` | | `strncmp($str1, $str2, $length)` | 比较前 N 个字符 | `echo strncmp("abc", "abd", 2); // 0` | --- ## 五、其他常用函数 | 函数 | 说明 | 示例 | |------|------|------| | `explode($delimiter, $string)` | 根据分隔符分割字符串为数组 | `print_r(explode(",", "a,b,c")); // Array ( [0] => a [1] => b [2] => c )` | | `implode($separator, $array)` | 将数组元素合并成字符串 | `echo implode("-", ["a", "b", "c"]); // a-b-c` | | `preg_match($pattern, $string)` | 使用正则表达式匹配 | `preg_match("/\d+/", "abc123", $matches); // $matches = ['123']` | | `preg_replace($pattern, $replacement, $string)` | 正则替换 | `echo preg_replace("/\d+/", "X", "abc123"); // abcX` | | `parse_str($str, &$array)` | 解析查询字符串为变量或数组 | `parse_str("name=John&age=30", $output); // $output['name'] = 'John'` | --- ## 六、多字节字符串处理(推荐用于中文) | 函数 | 说明 | 示例 | |------|------|------| | `mb_substr($str, $start, $length)` | 多字节安全的字符串截取 | `mb_substr("你好世界", 0, 2, "UTF-8"); // 你好` | | `mb_strlen($str)` | 多字节字符串长度 | `mb_strlen("你好", "UTF-8"); // 2` | | `mb_strtolower($str)` | 多字节字符串转小写 | `mb_strtolower("HELLO", "UTF-8"); // hello` | --- ## 七、格式化字符串 | 函数 | 说明 | 示例 | |------|------|------| | `sprintf($format, ...)` | 格式化字符串 | `echo sprintf("Hello %s", "World"); // Hello World` | | `vsprintf($format, $args)` | 使用数组进行格式化 | `echo vsprintf("Hello %s", ["World"]); // Hello World` | --- ## 总结 | 类型 | 常用函数 | |------|----------| | 长度 | `strlen`, `mb_strlen` | | 替换 | `str_replace`, `preg_replace` | | 截取 | `substr`, `mb_substr` | | 转换 | `strtolower`, `strtoupper`, `ucfirst`, `ucwords` | | 拼接 | `implode`, `explode` | | 比较 | `strcmp`, `strcasecmp` | | 安全处理 | `htmlspecialchars`, `strip_tags` | | 正则处理 | `preg_match`, `preg_replace` | 如果你有具体的字符串处理需求(如提取 URL 参数、过滤 HTML、解析 JSON 等),可以告诉我,我可以提供更具体的建议和代码示例。
上一篇:
PHP处理数组的常用函数?
下一篇:
PHP处理时间的常用函数?
标题录入,一次不能超过6条
留言
评论