mb_eregi
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
mb_eregi — Regular expression match ignoring case with multibyte support
说明
$pattern
, string $string
, array &$matches
= null
): boolExecutes the case insensitive regular expression match with multibyte support.
参数
-
pattern
-
The regular expression pattern.
-
string
-
The string being searched.
-
matches
-
If matches are found for parenthesized substrings of
pattern
and the function is called with the third argumentmatches
, the matches will be stored in the elements of the arraymatches
. If no matches are found,matches
is set to an empty array.$matches[1] will contain the substring which starts at the first left parenthesis; $matches[2] will contain the substring starting at the second, and so on. $matches[0] will contain a copy of the complete string matched.
返回值
Returns whether pattern
matches string
.
更新日志
版本 | 说明 |
---|---|
8.0.0 |
This function returns true on success now. Previously, it returned the byte length
of the matched string if a match for pattern was found in
string and matches was passed.
If the optional parameter matches was not passed or
the length of the matched string was 0 , this function returned 1 .
|
7.1.0 |
mb_eregi() will now set matches to
an empty array, if nothing matched. Formerly,
matches was not modified in that case.
|
注释
注意:
mb_regex_encoding() 指定的内部编码或字符编码将会当作此函数用的字符编码。
参见
- mb_regex_encoding() - Set/Get character encoding for multibyte regex
- mb_ereg() - Regular expression match with multibyte support

User Contributed Notes 3 notes
This function does not work - it is not case insensitive for non latin characters.
When this function is perfected, and is not experimental, it may be very usefull in the searching and pinpointing of places inside large text files.
I simulated it:
<?php
$text = 'Äpfel';
mb_internal_encoding( 'utf-8' );
printf( "%d\n", mb_eregi( 'äpfel', $text ) ); // Output: 0
printf( "%d\n", mb_ereg( 'äpfel', mb_strtolower( $text ) ) ); // Output: 1
printf( "%d\n", mb_eregi( 'äpfel', mb_strtolower( $text ) ) ); // Output: 1
?>