This function does not work - it is not case insensitive for non latin characters.
mb_eregi
(PHP 4 >= 4.2.0, PHP 5)
mb_eregi — Regular expression match ignoring case with multibyte support
Description
$pattern
, string $string
[, array $regs
] )Executes the case insensitive regular expression match with multibyte support.
Parameters
Return Values
Executes the regular expression
match with multibyte support, and returns 1 if matches are found.
If the optional regs parameter was specified, the function
returns the byte length of matched part, and the array
regs will contain the substring of matched
string. The function returns 1 if it matches with the empty
string. If no matches are found or an error happens, FALSE will be
returned.
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
- mb_regex_encoding() - Set/Get character encoding for multibyte regex
- mb_ereg() - Regular expression match with multibyte support
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
?>
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.
