插件窝 干货文章 php mb扩展函数有哪些

php mb扩展函数有哪些

UTF-8 字符串 字节 mb 107    来源:    2025-03-17

PHP 的 mbstring 扩展提供了多字节字符串处理的功能,特别适用于处理非ASCII字符集(如UTF-8、Shift_JIS等)。以下是一些常用的 mbstring 扩展函数:

1. 字符串操作

  • mb_strlen: 获取字符串的长度(多字节安全)。 php $length = mb_strlen("こんにちは", "UTF-8");
  • mb_substr: 获取字符串的子串(多字节安全)。 php $substring = mb_substr("こんにちは", 0, 2, "UTF-8");
  • mb_strpos: 查找字符串中某个子串的位置(多字节安全)。 php $position = mb_strpos("こんにちは", "に", 0, "UTF-8");
  • mb_strrpos: 查找字符串中某个子串的最后出现位置(多字节安全)。 php $position = mb_strrpos("こんにちは", "に", 0, "UTF-8");
  • mb_strtolower: 将字符串转换为小写(多字节安全)。 php $lowercase = mb_strtolower("こんにちは", "UTF-8");
  • mb_strtoupper: 将字符串转换为大写(多字节安全)。 php $uppercase = mb_strtoupper("こんにちは", "UTF-8");
  • mb_convert_case: 转换字符串的大小写(多字节安全)。 php $uppercase = mb_convert_case("こんにちは", MB_CASE_UPPER, "UTF-8");

2. 字符编码转换

  • mb_convert_encoding: 转换字符串的字符编码。 php $converted = mb_convert_encoding("こんにちは", "UTF-8", "SJIS");
  • mb_detect_encoding: 检测字符串的字符编码。 php $encoding = mb_detect_encoding("こんにちは", "UTF-8, SJIS");
  • mb_internal_encoding: 设置或获取内部字符编码。 php mb_internal_encoding("UTF-8");
  • mb_http_output: 设置或获取HTTP输出字符编码。 php mb_http_output("UTF-8");

3. 正则表达式

  • mb_ereg: 执行多字节安全的正则表达式匹配。 php if (mb_ereg("に", "こんにちは")) { echo "Match found!"; }
  • mb_eregi: 执行不区分大小写的多字节正则表达式匹配。 php if (mb_eregi("に", "こんにちは")) { echo "Match found!"; }
  • mb_ereg_replace: 执行多字节安全的正则表达式替换。 php $result = mb_ereg_replace("に", "ニ", "こんにちは");
  • mb_eregi_replace: 执行不区分大小写的多字节正则表达式替换。 php $result = mb_eregi_replace("に", "ニ", "こんにちは");

4. 其他功能

  • mb_send_mail: 发送多字节安全的电子邮件。 php mb_send_mail("recipient@example.com", "Subject", "Message", "From: sender@example.com");
  • mb_get_info: 获取 mbstring 扩展的配置信息。 php $info = mb_get_info();
  • mb_check_encoding: 检查字符串是否为指定的字符编码。 php if (mb_check_encoding("こんにちは", "UTF-8")) { echo "Valid UTF-8 string!"; }

5. 字符编码列表

  • mb_list_encodings: 列出所有支持的字符编码。 php $encodings = mb_list_encodings();

6. 字符串截断

  • mb_strimwidth: 按指定宽度截断字符串(多字节安全)。 php $trimmed = mb_strimwidth("こんにちは", 0, 4, "...", "UTF-8");

7. 字符串分割

  • mb_split: 使用正则表达式分割字符串(多字节安全)。 php $parts = mb_split("に", "こんにちは");

8. 字符串比较

  • mb_strcmp: 比较两个字符串(多字节安全)。 php $result = mb_strcmp("こんにちは", "こんばんは", "UTF-8");
  • mb_strcasecmp: 不区分大小写比较两个字符串(多字节安全)。 php $result = mb_strcasecmp("こんにちは", "こんばんは", "UTF-8");

9. 字符串宽度计算

  • mb_strwidth: 计算字符串的宽度(多字节安全)。 php $width = mb_strwidth("こんにちは", "UTF-8");

10. 字符串截断

  • mb_substr_count: 计算子字符串在字符串中出现的次数(多字节安全)。 php $count = mb_substr_count("こんにちは", "に", "UTF-8");

这些函数可以帮助你在处理多字节字符集时避免常见的编码问题,确保字符串操作的正确性和安全性。