【PHP8.x】mb_ereg_search_getpos関数の使い方

作成日: 更新日:

mb_ereg_search_getpos関数は、PHPのmbstring拡張機能が提供する正規表現検索において、最後に成功したマッチの開始位置を取得する関数です。この関数は、mb_ereg_search()mb_eregi_search()といった関連する正規表現検索関数が実行された後、マッチした文字列が対象の文字列のどこから始まったかを示す位置(オフセット)を返します。

特にマルチバイト文字(日本語や中国語など)を含む文字列を扱う際、通常の正規表現関数ではバイト数で位置が計算されることがありますが、このmb_ereg_search_getpos()関数は、文字単位で正確な開始位置を返します。これにより、多バイト文字の途中ではなく、常に文字の先頭を基準とした位置情報を得ることができます。

戻り値は、マッチした部分文字列の開始位置を示す整数値です。位置は0から始まり、最初の文字が0、次の文字が1となります。もし直前に正規表現検索が実行されていない場合や、検索が成功しなかった場合は、falseが返されます。この関数は引数を必要とせず、単独で呼び出すことで現在の検索状態から情報を取得します。システムエンジニアを目指す方にとって、多バイト文字列の複雑な正規表現処理において、正確な位置情報を取得するための不可欠なツールとして活用されます。

基本的な使い方

構文(syntax)

<?php
mb_regex_encoding("UTF-8");
mb_ereg_search_init("日本語のテキスト", "本");
mb_ereg_search();
$position = mb_ereg_search_getpos();
?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

mb_ereg_search_getpos 関数は、直前の mb_ereg_search 関数の実行における、現在の検索位置(オフセット)を整数で返します。

【PHP8.x】mb_ereg_search_getpos関数の使い方 | いっしー@Webエンジニア