PHP Conference Nagoya 2025

mb_ereg_search_pos

(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)

mb_ereg_search_posReturns position and length of a matched part of the multibyte regular expression for a predefined multibyte string

Description

mb_ereg_search_pos(?string $pattern = null, ?string $options = null): array|false

Returns position and length of a matched part of the multibyte regular expression for a predefined multibyte string

The string for match is specified by mb_ereg_search_init(). If it is not specified, the previous one will be used.

Parameters

pattern

The search pattern.

options

The search option. See mb_regex_set_options() for explanation.

Return Values

An array containing two elements. The first element is the offset, in bytes, where the match begins relative to the start of the search string, and the second element is the length in bytes of the match.

If an error occurs, false is returned.

Changelog

Version Description
8.0.0 pattern and options are nullable now.

Notes

Note:

The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

See Also

add a note

User Contributed Notes 1 note

up
2
v dot picture at free dot fr
3 years ago
This function is absolutely not multibyte-safe, it actually returns the position of the match as if the string was not multibyte.

The results of this function are exactly the same as if you were using preg_match_all with PREG_OFFSET_CAPTURE, even with the "unicode" flag it's simply NOT working

(Bug report filed)
To Top