This function does not work - it is not case insensitive for non latin characters.
(PHP 4 >= 4.2.0, PHP 5, PHP 7)
mb_eregi — Regular expression match ignoring case with multibyte support
$pattern
, string $string
[, array &$regs
] )Executes the case insensitive regular expression match with multibyte support.
pattern
The regular expression pattern.
string
The string being searched.
regs
If matches are found for parenthesized substrings of
pattern
and the function is called with the
third argument regs
, the matches will be stored
in the elements of the array regs
.
If no matches are found, regs
is set to an empty
array.
$regs[1] will contain the substring which starts at the first left parenthesis; $regs[2] will contain the substring starting at the second, and so on. $regs[0] will contain a copy of the complete string matched.
Returns the byte length of the matched string if a match for
pattern
was found in string
,
or FALSE
if no matches were found or an error occurred.
If the optional parameter regs
was not passed or
the length of the matched string is 0, this function returns 1.
버전 | 설명 |
---|---|
PHP 7.1.0 |
mb_eregi() will now set regs to
an empty array, if nothing matched. Formerly,
regs was not modified in that case.
|
Note:
내부 인코딩이나 mb_regex_encoding()으로 정의한 문자 인코딩을 이 함수의 문자 인코딩으로 사용할 수 있습니다.
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
?>