函数名:mb_ereg_search_pos()
适用版本:PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8
用法:mb_ereg_search_pos() 函数用于在多字节字符串中搜索匹配的子字符串,并返回其位置。该函数是 mb_ereg_search() 函数的一部分,用于配合 mb_ereg_search_init() 和 mb_ereg_search_regs() 函数使用。
语法:mb_ereg_search_pos(string $pattern, string $option = 'ms')
参数:
- pattern:要搜索的正则表达式模式。
- option:可选参数,用于设置正则表达式的选项。默认为 'ms',表示多行模式和单字节模式。其他有效选项包括 'm'(多行模式),'i'(不区分大小写),'x'(允许注释),'s'(单字节模式),'U'(非贪婪模式)。
返回值:如果找到匹配的子字符串,则返回一个二元素数组,包含了匹配子字符串的起始位置和结束位置。如果没有找到匹配的子字符串,则返回 false。
示例:
$text = "你好,世界!Hello, World!";
$pattern = '世界';
if (mb_ereg_search_init($text, $pattern)) {
$pos = mb_ereg_search_pos();
if ($pos !== false) {
echo "找到匹配的子字符串:";
echo "起始位置:" . $pos[0] . ",结束位置:" . $pos[1];
} else {
echo "未找到匹配的子字符串。";
}
} else {
echo "正则表达式初始化失败。";
}
输出:
找到匹配的子字符串:起始位置:9,结束位置:11
以上示例中,我们首先调用 mb_ereg_search_init() 函数初始化正则表达式搜索,然后调用 mb_ereg_search_pos() 函数获取匹配子字符串的位置。最后根据返回值判断是否找到匹配的子字符串,并输出相应的结果。