This function does not work - it is not case insensitive for non latin characters.
(PHP 4 >= 4.2.0, PHP 5, PHP 7, PHP 8)
mb_eregi — Поиск соответствий регулярному выражению с поддержкой многобайтовых символов без учёта регистра
$pattern
, string $string
, array &$matches
= null
): boolВыполняет поиск соответствий регулярному выражению с поддержкой многобайтных символы, нечувствительный к регистру.
pattern
Шаблон, текст регулярного выражения.
string
Строка (string), в которой производится поиск.
matches
Если найдены совпадения для подстроки pattern
,
заключённой в скобки, и функция вызвана с заданным третьим аргументом
matches
, эти совпадения будут сохранены в массиве
matches
. Если подобных совпадений не найдено,
matches
установится как пустой массив.
$matches[1] будет содержать первую (слева) подстроку заключённую в скобки; $regs[2] - вторую, и так далее. $matches[0] будет содержать копию всей найденной строки.
Возвращает true
если совпадение шаблона
pattern
найдено в string
,
или false
, если совпадения не найдены.
Версия | Описание |
---|---|
8.0.0 |
Теперь эта функция возвращает true в случае успешного выполнения. Раньше, если был задан параметр
matches и было найдено вхождение pattern
в строке string , возвращалась длинна найденной подстроки в
байтах. Если параметр matches не задавался или длина найденной
подстроки равнялась 0 , функция возвращала 1 .
|
7.1.0 |
Функцию mb_eregi() устанавливает значение
matches равным пустому массиву, если ничего не найдено.
Ранее, в подобном случае, matches оставался неизменным.
|
Замечание:
Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией 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
?>