php_ref_string
PHP 字符串函数
Section titled “PHP 字符串函数”PHP 字符串函数介绍
Section titled “PHP 字符串函数介绍”字符串是 PHP 中基本的数据类型之一,用于表示字符序列。PHP 提供了丰富的内置函数用于操作字符串。
这些函数涵盖了广泛的操作,包括:
- 在字符串中搜索和替换文本。
- 格式化字符串(例如,填充、改变大小写、数字格式化)。
- 将字符串转换为数组或其他类型,或反之。
- 比较字符串。
- 计算字符串长度或哈希值。
- 编码/解码和转义字符串(例如,用于 HTML 或 SQL)。
这些函数是 PHP 核心的一部分,因此使用它们无需额外安装。
关于字符编码的重要说明: 如果启用了并配置了适当的 mbstring(多字节字符串)扩展,许多字符串函数可以正确处理多字节字符集(如 UTF-8,这是 web 内容的标准)。为了可靠地处理非 ASCII 字符,优先使用相应的 mb_* 函数(例如 mb_strlen() 而不是 strlen(),mb_strtolower() 而不是 strtolower())。
安全注意事项: 处理源自用户输入的字符串时,在使用它们于不同上下文(例如,htmlspecialchars() 用于 HTML 输出,预处理语句用于 SQL 查询)之前,务必对其进行适当的清理和转义,以防止跨站脚本攻击 (XSS) 和 SQL 注入等安全漏洞。
常用 PHP 字符串函数
Section titled “常用 PHP 字符串函数”以下是 PHP 中可用的字符串函数的完整列表。虽然列出了所有函数供参考,但一些关键且常用的函数包括 strlen、strpos、substr、str_replace、explode、implode、htmlspecialchars、trim、strtolower、strtoupper。
Function 描述--------------------------- ------------------------------------------------------------------------addcslashes() 在 C 风格中用反斜杠引用字符串addslashes() 为数据库使用添加反斜杠引用字符串(请使用预处理语句代替!)bin2hex() 将二进制数据转换为十六进制表示chop() rtrim() 的别名chr() 从 ASCII 值生成一个单字节字符串chunk_split() 将字符串分割成较小的块convert_cyr_string() 将一个西里尔字符集转换为另一个convert_uudecode() 解码 uuencoded 字符串convert_uuencode() Uuencode 字符串count_chars() 返回字符串中使用字符的信息crc32() 计算字符串的 crc32 多项式crypt() 单向字符串哈希(密码用途已弃用 - 请使用 password_hash())echo() 输出一个或多个字符串explode() 使用字符串分割字符串为数组fprintf() 将格式化字符串写入流get_html_translation_table() 返回 htmlspecialchars() 和 htmlentities() 使用的转换表hebrev() 将逻辑希伯来语文本转换为可视文本hebrevc() 将逻辑希伯来语文本转换为带换行符转换的可视文本hex2bin() 解码十六进制编码的二进制字符串html_entity_decode() 将 HTML 实体转换回字符htmlentities() 将所有适用字符转换为 HTML 实体htmlspecialchars_decode() 将特殊的 HTML 实体转换回字符htmlspecialchars() 将特殊字符转换为 HTML 实体(对安全至关重要)implode() / join() 使用字符串连接数组元素lcfirst() 将字符串的第一个字符转为小写levenshtein() 计算两个字符串之间的 Levenshtein 距离localeconv() 获取数字格式化信息ltrim() 移除字符串开头的空白字符(或其他字符)md5() 计算字符串的 MD5 哈希值(不安全用于密码)md5_file() 计算指定文件的 MD5 哈希值(不安全用于密码)metaphone() 计算字符串的 metaphone 键money_format() 将数字格式化为货币字符串(已弃用;请使用 NumberFormatter)nl_langinfo() 查询语言和区域设置信息nl2br() 在字符串的所有换行符前插入 HTML 换行符number_format() 将数字按千位分组格式化ord() 返回字符串第一个字符的 ASCII 值parse_str() 将字符串解析为变量(例如,查询字符串)print() 输出一个字符串printf() 输出格式化字符串quoted_printable_decode() 将 quoted-printable 字符串转换为 8 位字符串quoted_printable_encode() 将 8 位字符串转换为 quoted-printable 字符串quotemeta() 引用元字符rtrim() 移除字符串末尾的空白字符(或其他字符)setlocale() 设置区域设置信息sha1() 计算字符串的 SHA-1 哈希值(不安全用于密码)sha1_file() 计算文件的 SHA-1 哈希值(不安全用于密码)similar_text() 计算两个字符串之间的相似度soundex() 计算字符串的 soundex 键sprintf() 返回格式化字符串sscanf() 根据格式解析字符串输入str_contains() (PHP 8+) 判断字符串是否包含给定的子字符串str_ends_with() (PHP 8+) 检查字符串是否以给定的子字符串结尾str_getcsv() 将 CSV 字符串解析为数组str_ireplace() str_replace() 的不区分大小写版本str_pad() 用另一个字符串填充字符串到指定长度str_repeat() 重复字符串str_replace() 将查找字符串的所有出现替换为替换字符串str_rot13() 对字符串执行 ROT13 转换str_shuffle() 随机打乱字符串str_split() 将字符串转换为字符数组str_starts_with() (PHP 8+) 检查字符串是否以给定的子字符串开头str_word_count() 返回字符串中使用单词的信息strcasecmp() 二进制安全的不区分大小写字符串比较strchr() strstr() 的别名strcmp() 二进制安全的区分大小写字符串比较strcoll() 基于区域设置的字符串比较strcspn() 查找不匹配掩码的初始段长度strip_tags() 从字符串中移除 HTML 和 PHP 标签stripcslashes() 解除 addcslashes() 引用的字符串stripslashes() 解除 addslashes() 引用的字符串(正确转义后需求较少)stripos() 查找子字符串第一次出现的位置(不区分大小写)stristr() strstr() 的不区分大小写版本strlen() 获取字符串长度(基于字节;多字节请使用 mb_strlen())strnatcasecmp() 使用“自然顺序”算法进行不区分大小写的字符串比较strnatcmp() 使用“自然顺序”算法进行字符串比较strncasecmp() 二进制安全的不区分大小写比较前 n 个字符strncmp() 二进制安全的比较前 n 个字符strpbrk() 在字符串中搜索字符集中的任意字符strpos() 查找子字符串第一次出现的位置(区分大小写)strrchr() 查找字符在字符串中最后一次出现的位置strrev() 反转字符串strripos() 查找字符串最后一次出现的位置(不区分大小写)strrpos() 查找子字符串最后一次出现的位置(区分大小写)strspn() 查找匹配掩码的初始段长度strstr() 查找字符串第一次出现的位置(区分大小写)strtok() 分割字符串(使用 explode() 或 preg_split() 更灵活)strtolower() 将字符串转为小写(多字节请使用 mb_strtolower())strtoupper() 将字符串转为大写(多字节请使用 mb_strtoupper())strtr() 转换字符或替换子字符串substr() 返回字符串的一部分(多字节请使用 mb_substr())substr_compare() 二进制安全地比较两个字符串从某个偏移量开始、指定长度的子字符串substr_count() 计算子字符串出现的次数substr_replace() 替换字符串一部分中的文本trim() 移除字符串开头和末尾的空白字符(或其他字符)ucfirst() 将字符串的第一个字符转为大写ucwords() 将字符串中每个单词的第一个字符转为大写vfprintf() 使用参数数组将格式化字符串写入流vprintf() 使用参数数组输出格式化字符串vsprintf() 使用参数数组返回格式化字符串wordwrap() 将字符串按指定字符数换行密码哈希: 切勿直接使用 md5()、sha1() 或 crypt() 来存储密码。始终使用现代的 password_hash() 函数创建安全的密码哈希,并使用 password_verify() 来验证它们。