International PHP Conference Munich 2021

mb_eregi

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

mb_eregi Поиск соответствий регулярному выражению с поддержкой многобайтовых символов без учёта регистра

Описание

mb_eregi(string $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().

Смотрите также

  • mb_regex_encoding() - Устанавливает/получает текущую кодировку для многобайтового регулярного выражения
  • mb_ereg() - Совпадение с регулярным выражением с поддержкой многобайтовых кодировок

add a note add a note

User Contributed Notes 3 notes

up
8
bubalula at gmail dot com
10 years ago
This function does not work - it is not case insensitive for non latin characters.
up
0
steve at brainwashstudios dot com
18 years ago
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.
up
-7
lasmit at what dot com
9 years ago
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
?>
To Top