函數(shù)名稱(chēng):mb_ereg_search_getpos()
函數(shù)描述:獲取當(dāng)前正則表達(dá)式的匹配位置
適用版本:PHP 4 >= 4.2.0, PHP 5, PHP 7
語(yǔ)法:mb_ereg_search_getpos()
返回值:返回一個(gè)整數(shù),表示當(dāng)前正則表達(dá)式的匹配位置;如果沒(méi)有匹配或者出錯(cuò),返回FALSE。
說(shuō)明: mb_ereg_search_getpos()函數(shù)用于獲取當(dāng)前正則表達(dá)式的匹配位置。該函數(shù)在使用多字節(jié)字符集的情況下,可以正確返回匹配位置。
注意事項(xiàng):
- 在使用mb_ereg_search_getpos()函數(shù)之前,必須先執(zhí)行mb_ereg_search_init()函數(shù)來(lái)初始化正則表達(dá)式引擎。
- 必須在mb_ereg_search_regs()函數(shù)之后調(diào)用mb_ereg_search_getpos()函數(shù),否則將返回FALSE。
示例:
// 初始化正則表達(dá)式引擎
mb_regex_encoding("UTF-8");
mb_ereg_search_init("(\d+)", "這是123個(gè)蘋(píng)果和456個(gè)橘子");
// 執(zhí)行正則表達(dá)式匹配
if (mb_ereg_search()) {
// 獲取匹配位置
$position = mb_ereg_search_getpos();
echo "匹配位置:$position"; // 輸出:匹配位置:6
} else {
echo "未找到匹配";
}
在上面的示例中,我們首先使用mb_regex_encoding()函數(shù)設(shè)置字符集為UTF-8,然后使用mb_ereg_search_init()函數(shù)初始化正則表達(dá)式引擎,并指定要匹配的字符串和正則表達(dá)式。接下來(lái),我們調(diào)用mb_ereg_search()函數(shù)執(zhí)行正則表達(dá)式匹配,如果成功匹配,則使用mb_ereg_search_getpos()函數(shù)獲取匹配位置,并將其輸出。在這個(gè)例子中,正則表達(dá)式(\d+)匹配到了字符串中的數(shù)字123,其位置為6。