manual-php
Version:
736 lines (491 loc) • 18 kB
Markdown
# 多字节字符串
* [mb_check_encoding - 检查字符串在指定的编码里是否有效](#mbcheckencoding)
* [mb_chr - 获取特定的字符](#mbchr)
* [mb_convert_case - 对字符串进行大小写转换](#mbconvertcase)
* [mb_convert_encoding - 转换字符的编码](#mbconvertencoding)
* [mb_convert_kana - 相互转换“假名”](#mbconvertkana)
* [mb_convert_variables - 转换一个或多个变量的字符编码](#mbconvertvariables)
* [mb_decode_mimeheader - 解码 MIME 头字段中的字符串](#mbdecodemimeheader)
* [mb_decode_numericentity - 根据 HTML 数字字符串解码成字符](#mbdecodenumericentity)
* [mb_detect_encoding - 检测字符的编码](#mbdetectencoding)
* [mb_detect_order - 设置 / 获取字符编码的检测顺序](#mbdetectorder)
* [mb_encode_mimeheader - 为 MIME 头编码字符串](#mbencodemimeheader)
* [mb_encode_numericentity - 将字符编码为 HTML 数字字符串参考](#mbencodenumericentity)
* [mb_encoding_aliases - 获取已知编码类型的别名](#mbencodingaliases)
* [mb_ereg_match - 多字节字符串的正则表达式匹配](#mberegmatch)
* [mb_ereg_replace_callback - 执行正则表达式搜索,并使用回调替换为多字节支持](#mberegreplacecallback)
* [mb_ereg_replace - 用多字节支持替换正则表达式](#mberegreplace)
* [mb_ereg_search_getpos - 返回下一个正则表达式匹配的起点](#mberegsearchgetpos)
* [mb_ereg_search_getregs - 从最后一个多字节正则表达式匹配中检索结果](#mberegsearchgetregs)
* [mb_ereg_search_init - 多字节正则表达式匹配的设置字符串和正则表达式](#mberegsearchinit)
* [mb_ereg_search_pos - 返回预定义的多字节字符串的多字节正则表达式匹配部分的位置和长度](#mberegsearchpos)
* [mb_ereg_search_regs - 返回多字节正则表达式的匹配部分](#mberegsearchregs)
* [mb_ereg_search_setpos - 设置下一个正则表达式匹配的起点](#mberegsearchsetpos)
* [mb_ereg_search - 预定义的多字节字符串的多字节正则表达式匹配](#mberegsearch)
* [mb_ereg - 正则表达式与多字节支持匹配](#mbereg)
* [mb_eregi_replace - 用多字节支持替换正则表达式,忽略大小写](#mberegireplace)
* [mb_eregi - 正则表达式匹配忽略大小写支持](#mberegi)
* [mb_get_info - 获取 mbstring 的内部设置](#mbgetinfo)
* [mb_http_input - 检测 HTTP 输入字符编码](#mbhttpinput)
* [mb_http_output - 设置 / 获取 HTTP 输出字符编码](#mbhttpoutput)
* [mb_internal_encoding - 设置 / 获取内部字符编码](#mbinternalencoding)
* [mb_language - 设置 / 获取当前的语言](#mblanguage)
* [mb_list_encodings - 返回所有支持编码的数组](#mblistencodings)
* [mb_ord - 获取字符的编码号](#mbord)
* [mb_output_handler - 在输出缓冲中转换字符编码的回调函数](#mboutputhandler)
* [mb_parse_str - 解析 GET / POST / COOKIE 数据并设置全局变量](#mbparsestr)
* [mb_preferred_mime_name - 获取 MIME 字符串](#mbpreferredmimename)
* [mb_regex_encoding - 设置 / 获取多字节正则表达式的字符编码](#mbregexencoding)
* [mb_regex_set_options - 设置 / 获取 mbregex 函数的默认选项](#mbregexsetoptions)
* [mb_send_mail - 发送编码过的邮件](#mbsendmail)
* [mb_split - 使用正则表达式分割多字节字符串](#mbsplit)
* [mb_str_split - 给定一个多字节字符串,返回其字符数组](#mbstrsplit)
* [mb_strcut - 获取字符的一部分](#mbstrcut)
* [mb_strimwidth - 获取按指定宽度截断的字符串](#mbstrimwidth)
* [mb_stripos - 大小写不敏感地查找字符串在另一个字符串中首次出现的位置](#mbstripos)
* [mb_stristr - 大小写不敏感地查找字符串在另一个字符串里的首次出现](#mbstristr)
* [mb_strlen - 获取字符串的长度](#mbstrlen)
* [mb_strpos - 查找字符串在另一个字符串中首次出现的位置](#mbstrpos)
* [mb_strrchr - 查找指定字符在另一个字符串中最后一次的出现](#mbstrrchr)
* [mb_strrichr - 大小写不敏感地查找指定字符在另一个字符串中最后一次的出现](#mbstrrichr)
* [mb_strripos - 大小写不敏感地在字符串中查找一个字符串最后出现的位置](#mbstrripos)
* [mb_strrpos - 查找字符串在一个字符串中最后出现的位置](#mbstrrpos)
* [mb_strstr - 查找字符串在另一个字符串里的首次出现](#mbstrstr)
* [mb_strtolower - 使字符串小写](#mbstrtolower)
* [mb_strtoupper - 使字符串大写](#mbstrtoupper)
* [mb_strwidth - 返回字符串的宽度](#mbstrwidth)
* [mb_substitute_character - 设置 / 获取替代字符](#mbsubstitutecharacter)
* [mb_substr_count - 统计字符串出现的次数](#mbsubstrcount)
* [mb_substr - 获取部分字符串](#mbsubstr)
## mb_check_encoding
```php
var_dump(mb_check_encoding());
var_dump(mb_check_encoding('foo'));
var_dump(mb_check_encoding('世界'));
```
## mb_chr
```php
var_dump(mb_chr(102)); // string(1) "f"
var_dump(mb_chr(111)); // string(1) "o"
var_dump(mb_chr(48)); // string(1) "0"
```
## mb_convert_case
```php
var_dump(mb_convert_case('foo bar', MB_CASE_UPPER)); // string(7) "FOO BAR"
var_dump(mb_convert_case('foo bar', MB_CASE_LOWER)); // string(7) "foo bar"
var_dump(mb_convert_case('foo bar', MB_CASE_TITLE)); // string(7) "Foo Bar"
```
## mb_convert_encoding
```php
var_dump(mb_convert_encoding('世界', 'UTF-7'));
```
## mb_convert_kana
```php
var_dump(mb_convert_kana('foo')); // string(3) "foo"
```
## mb_convert_variables
```php
$foo = '世界';
var_dump(mb_convert_variables('UTF-7', 'UTF-8', $foo)); // string(5) "UTF-8"
var_dump($foo); // string(8) "+ThZ1TA-"
```
## mb_decode_mimeheader
```php
var_dump(mb_decode_mimeheader('foo')); // string(3) "foo"
```
## mb_decode_numericentity
```php
var_dump(mb_decode_numericentity('foo', [0x80, 0xff, 0, 0xff], 'ISO-8859-1')); // string(3) "foo"
```
## mb_detect_encoding
```php
var_dump(mb_detect_encoding('foo')); // string(5) "ASCII"
var_dump(mb_detect_encoding('世界')); // string(5) "UTF-8"
```
## mb_detect_order
```php
var_dump(mb_detect_order()); // array(2) { [0]=> string(5) "ASCII" [1]=> string(5) "UTF-8" }
var_dump(mb_detect_order(['ASCII', 'UTF-8'])); // bool(true)
```
## mb_encode_mimeheader
```php
var_dump(mb_encode_mimeheader('foo')); // string(3) "foo"
```
## mb_encode_numericentity
```php
var_dump(mb_encode_numericentity('foo', [0x80, 0xff, 0, 0xff], 'ISO-8859-1')); // string(3) "foo"
```
## mb_encoding_aliases
```php
var_dump(mb_encoding_aliases('ASCII')); // array(11) { [0]=> string(14) "ANSI_X3.4-1968" [1]=> string(8) "iso-ir-6" [2]=> string(14) "ANSI_X3.4-1986" [3]=> string(16) "ISO_646.irv:1991" [4]=> string(8) "US-ASCII" [5]=> string(9) "ISO646-US" [6]=> string(2) "us" [7]=> string(6) "IBM367" [8]=> string(7) "IBM-367" [9]=> string(5) "cp367" [10]=> string(7) "csASCII" }
var_dump(mb_encoding_aliases('UTF-8')); // array(1) { [0]=> string(4) "utf8" }
```
## mb_ereg_match
```php
var_dump(mb_ereg_match('([a-z]+)', 'FOO')); // bool(false)
var_dump(mb_ereg_match('([a-z]+)', 'foo')); // bool(true)
```
## mb_ereg_replace_callback
```php
/**
* Just a test function.
*
* @param array $matches
* @return string
*/
function foo(array $matches): string
{
return strtoupper($matches[1]);
}
var_dump(mb_ereg_replace_callback('([a-z]+)', 'foo', 'foo')); // string(3) "FOO"
var_dump(
mb_ereg_replace_callback(
'([a-z]+)',
function (array $matches): string {
return strtoupper($matches[1]);
},
'foo'
)
); // string(3) "FOO"
var_dump(
mb_ereg_replace_callback(
'([a-z]+)',
fn(array $matches): string => strtoupper($matches[1]),
'foo'
)
); // string(3) "FOO"
```
## mb_ereg_replace
```php
var_dump(mb_ereg_replace('[a-z]', '0', 'FOO')); // string(3) "FOO"
var_dump(mb_ereg_replace('[a-z]', '0', 'foo')); // string(3) "000"
```
## mb_ereg_search_getpos
```php
mb_ereg_search_init('foo');
var_dump(mb_ereg_search_getpos()); // int(0)
mb_ereg_search_init('foo');
mb_ereg_search_regs('([a-z]+)');
var_dump(mb_ereg_search_getpos()); // int(3)
```
## mb_ereg_search_getregs
```php
mb_ereg_search_init('foo');
var_dump(mb_ereg_search_getregs()); // bool(false)
mb_ereg_search_init('foo');
mb_ereg_search_regs('([a-z]+)');
var_dump(mb_ereg_search_getregs()); // array(2) { [0]=> string(3) "foo" [1]=> string(3) "foo" }
```
## mb_ereg_search_init
```php
var_dump(mb_ereg_search_init('FOO')); // bool(true)
var_dump(mb_ereg_search_init('foo')); // bool(true)
var_dump(mb_ereg_search_init('foo', '([a-z]+)')); // bool(true)
```
## mb_ereg_search_pos
```php
mb_ereg_search_init('FOO');
var_dump(mb_ereg_search_pos('([a-z]+)')); // bool(false)
mb_ereg_search_init('foo');
var_dump(mb_ereg_search_pos('([a-z]+)')); // array(2) { [0]=> int(0) [1]=> int(3) }
mb_ereg_search_init('foo', '([a-z]+)');
var_dump(mb_ereg_search_pos()); // array(2) { [0]=> int(0) [1]=> int(3) }
```
## mb_ereg_search_regs
```php
mb_ereg_search_init('FOO');
var_dump(mb_ereg_search_regs('([a-z]+)')); // bool(false)
mb_ereg_search_init('foo');
var_dump(mb_ereg_search_regs('([a-z]+)')); // array(2) { [0]=> string(3) "foo" [1]=> string(3) "foo" }
mb_ereg_search_init('foo', '([a-z]+)');
var_dump(mb_ereg_search_regs()); // array(2) { [0]=> string(3) "foo" [1]=> string(3) "foo" }
```
## mb_ereg_search_setpos
```php
mb_ereg_search_init('foo');
var_dump(mb_ereg_search_setpos(0)); // bool(true)
```
## mb_ereg_search
```php
mb_ereg_search_init('FOO');
var_dump(mb_ereg_search('([a-z]+)')); // bool(false)
mb_ereg_search_init('foo');
var_dump(mb_ereg_search('([a-z]+)')); // bool(true)
mb_ereg_search_init('foo', '([a-z]+)');
var_dump(mb_ereg_search()); // bool(true)
```
## mb_ereg
```php
var_dump(mb_ereg('([a-z]+)', 'FOO')); // bool(false)
var_dump(mb_ereg('([a-z]+)', 'foo')); // int(1)
var_dump(mb_ereg('([a-z]+)', 'foo', $matches)); // int(3)
var_dump($matches); // array(2) { [0]=> string(3) "foo" [1]=> string(3) "foo" }
```
## mb_eregi_replace
```php
var_dump(mb_eregi_replace('[a-z]', '0', 'FOO')); // string(3) "000"
var_dump(mb_eregi_replace('[a-z]', '0', 'foo')); // string(3) "000"
```
## mb_eregi
```php
var_dump(mb_eregi('([a-z]+)', 'FOO')); // int(1)
var_dump(mb_eregi('([a-z]+)', 'foo')); // int(1)
var_dump(mb_eregi('([a-z]+)', 'foo', $matches)); // int(3)
var_dump($matches); // array(2) { [0]=> string(3) "foo" [1]=> string(3) "foo" }
```
## mb_get_info
```php
var_dump(mb_get_info());
var_dump(mb_get_info('all'));
```
## mb_http_input
```php
var_dump(mb_http_input());
var_dump(mb_http_input('G'));
var_dump(mb_http_input('P'));
var_dump(mb_http_input('C'));
var_dump(mb_http_input('S'));
var_dump(mb_http_input('L'));
var_dump(mb_http_input('I'));
```
## mb_http_output
```php
var_dump(mb_http_output()); // string(5) "UTF-8"
var_dump(mb_http_output('UTF-8')); // bool(true)
```
## mb_internal_encoding
```php
var_dump(mb_internal_encoding()); // string(5) "UTF-8"
var_dump(mb_internal_encoding('UTF-8')); // bool(true)
```
## mb_language
```php
var_dump(mb_language()); // string(7) "neutral"
var_dump(mb_language('neutral')); // bool(true)
```
## mb_list_encodings
```php
var_dump(mb_list_encodings());
```
## mb_ord
```php
var_dump(mb_ord('f')); // int(102)
var_dump(mb_ord('o')); // int(111)
var_dump(mb_ord('0')); // int(48)
```
## mb_output_handler
```php
var_dump(ob_start('mb_output_handler')); // bool(true)
```
## mb_parse_str
```php
var_dump(mb_parse_str('foo=foo&bar=bar&baz[]=baz', $output)); // bool(true)
var_dump($output); // array(3) { ["foo"]=> string(3) "foo" ["bar"]=> string(3) "bar" ["baz"]=> array(1) { [0]=> string(3) "baz" } }
var_dump(mb_parse_str('f oo=foo', $output)); // bool(true)
var_dump($output); // array(1) { ["f_oo"]=> string(3) "foo" }
```
## mb_preferred_mime_name
```php
var_dump(mb_preferred_mime_name('sjis-win')); // string(9) "Shift_JIS"
```
## mb_regex_encoding
```php
var_dump(mb_regex_encoding()); // string(5) "UTF-8"
var_dump(mb_regex_encoding('UTF-8')); // bool(true)
```
## mb_regex_set_options
```php
var_dump(mb_regex_set_options()); // string(2) "pr"
var_dump(mb_regex_set_options('pr')); // string(2) "pr"
```
## mb_send_mail
```php
var_dump(mb_send_mail('user@example.com', 'subject', wordwrap('message', 70)));
var_dump(mb_send_mail('user@example.com', 'subject', wordwrap('message', 70), 'From: server@example.com' . "\r\n" . 'Reply-To: server@example.com'));
```
## mb_split
```php
var_dump(mb_split(' ', 'f o o')); // array(3) { [0]=> string(1) "f" [1]=> string(1) "o" [2]=> string(1) "o" }
var_dump(mb_split(',', 'f,o,o')); // array(3) { [0]=> string(1) "f" [1]=> string(1) "o" [2]=> string(1) "o" }
var_dump(mb_split(',', 'f,o,o', 2)); // array(2) { [0]=> string(1) "f" [1]=> string(3) "o,o" }
```
## mb_str_split
```php
var_dump(mb_str_split('foo')); // array(3) { [0]=> string(1) "f" [1]=> string(1) "o" [2]=> string(1) "o" }
var_dump(mb_str_split('foo', 2)); // array(2) { [0]=> string(2) "fo" [1]=> string(1) "o" }
```
## mb_strcut
```php
var_dump(mb_strcut('foo', 1)); // string(2) "oo"
var_dump(mb_strcut('世界', 1)); // string(6) "世界"
var_dump(mb_strcut('世界', 3)); // string(3) "界"
```
## mb_strimwidth
```php
var_dump(mb_strimwidth('foo', 1, 2)); // string(2) "oo"
var_dump(mb_strimwidth('foo', -2, 2)); // string(2) "oo"
var_dump(mb_strimwidth('foo', -2, -1)); // string(1) "o"
var_dump(mb_strimwidth('foo', -2, -1, '.')); // string(1) "."
```
## mb_stripos
```php
var_dump(mb_stripos('foo', 'F')); // int(0)
var_dump(mb_stripos('foo', 'f')); // int(0)
var_dump(mb_stripos('foo', 'oo')); // int(1)
var_dump(mb_stripos('foo', 'o', 2)); // int(2)
var_dump(mb_stripos('foo', 'o', -1)); // int(2)
```
## mb_stristr
```php
var_dump(mb_stristr('foo bar baz', 'B')); // string(7) "bar baz"
var_dump(mb_stristr('foo bar baz', 'b')); // string(7) "bar baz"
var_dump(mb_stristr('foo bar baz', 'ba')); // string(7) "bar baz"
var_dump(mb_stristr('foo bar baz', 'ba', true)); // string(4) "foo "
```
## mb_strlen
```php
var_dump(mb_strlen('')); // int(0)
var_dump(mb_strlen('foo')); // int(3)
var_dump(mb_strlen('世界')); // int(2)
```
## mb_strpos
```php
var_dump(mb_strpos('foo', 'F')); // bool(false)
var_dump(mb_strpos('foo', 'f')); // int(0)
var_dump(mb_strpos('foo', 'oo')); // int(1)
var_dump(mb_strpos('foo', 'o', 2)); // int(2)
var_dump(mb_strpos('foo', 'o', -1)); // int(2)
```
## mb_strrchr
```php
var_dump(mb_strrchr('foo', 'F')); // bool(false)
var_dump(mb_strrchr('foo', 'o')); // string(1) "o"
var_dump(mb_strrchr('foo', 'f')); // string(3) "foo"
var_dump(mb_strrchr('foo', 'oo')); // string(2) "oo"
var_dump(mb_strrchr('foo', 'oo', true)); // string(1) "f"
```
## mb_strrichr
```php
var_dump(mb_strrichr('foo', 'F')); // string(3) "foo"
var_dump(mb_strrichr('foo', 'o')); // string(1) "o"
var_dump(mb_strrichr('foo', 'f')); // string(3) "foo"
var_dump(mb_strrichr('foo', 'oo')); // string(2) "oo"
var_dump(mb_strrichr('foo', 'oo', true)); // string(1) "f"
```
## mb_strripos
```php
var_dump(mb_strripos('foo', 'O')); // int(2)
var_dump(mb_strripos('foo', 'o')); // int(2)
var_dump(mb_strripos('foo', 'o', 1)); // int(2)
var_dump(mb_strripos('foo', 'o', -2)); // int(1)
```
## mb_strrpos
```php
var_dump(mb_strrpos('foo', 'O')); // bool(false)
var_dump(mb_strrpos('foo', 'o')); // int(2)
var_dump(mb_strrpos('foo', 'o', 1)); // int(2)
var_dump(mb_strrpos('foo', 'o', -2)); // int(1)
```
## mb_strstr
```php
var_dump(mb_strstr('foo bar baz', 'B')); // bool(false)
var_dump(mb_strstr('foo bar baz', 'b')); // string(7) "bar baz"
var_dump(mb_strstr('foo bar baz', 'ba')); // string(7) "bar baz"
var_dump(mb_strstr('foo bar baz', 'ba', true)); // string(4) "foo "
```
## mb_strtolower
```php
var_dump(mb_strtolower('foo')); // string(3) "foo"
var_dump(mb_strtolower('fo0')); // string(3) "fo0"
var_dump(mb_strtolower('FOO')); // string(3) "foo"
```
## mb_strtoupper
```php
var_dump(mb_strtoupper('foo')); // string(3) "FOO"
var_dump(mb_strtoupper('fo0')); // string(3) "FO0"
var_dump(mb_strtoupper('FOO')); // string(3) "FOO"
```
## mb_strwidth
```php
var_dump(mb_strwidth('foo')); // int(3)
var_dump(mb_strwidth('PHP')); // int(3)
var_dump(mb_strwidth('世界')); // int(4)
```
## mb_substitute_character
```php
var_dump(mb_substitute_character()); // int(63)
var_dump(mb_substitute_character(0x3013)); // bool(true)
```
## mb_substr_count
```php
var_dump(mb_substr_count('foo bar baz', 'a')); // int(2)
var_dump(mb_substr_count('foo bar baz', 'ba')); // int(2)
var_dump(mb_substr_count('foo bar baz', 'B')); // int(0)
```
## mb_substr
```php
var_dump(mb_substr('foo', 0)); // string(3) "foo"
var_dump(mb_substr('foo', 1)); // string(2) "oo"
var_dump(mb_substr('foo', -2)); // string(2) "oo"
var_dump(mb_substr('foo', 1, 1)); // string(1) "o"
var_dump(mb_substr('foo', 1, -1)); // string(1) "o"
var_dump(mb_substr('foo', -2, -1)); // string(1) "o"
```