PHP 8.4.2 Released!

mb_eregi_replace

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

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

Описание

mb_eregi_replace(
    string $pattern,
    string $replacement,
    string $string,
    ?string $options = null
): string|false|null

Сканирует строку string для поиска совпадений с шаблоном pattern, затем заменяет совпавший текст на значение, переданное в параметр replacement.

Список параметров

pattern

Шаблон регулярного выражения. Можно указывать многобайтовые символы. Регистр будет проигнорирован.

replacement

Текст замены.

string

Строка (string) поиска.

options
Вариант поиска. Объяснение дано в описании функции mb_regex_set_options().

Возвращаемые значения

Возвращает результирующую строку (string) в случае успешного выполнения или false в случае возникновения ошибки. Если строка string недопустима для текущей кодировки, возвращает null.

Список изменений

Версия Описание
8.0.0 Параметр options теперь может принимать значение null.
7.1.0 Функция проверяет, является ли строка string допустимой для текущей кодировки.
7.1.0 Модификатор e объявлен устаревшим.

Примечания

Замечание:

Для этой функции будет использована внутренняя кодировка или кодировка, установленная функцией mb_regex_encoding().

Внимание

Никогда не указывайте модификатор e при работе с данными, которые получили из недостоверных источников. Автоматическое экранирование этих данных не выполняется (в отличие от функции preg_replace()). Несоблюдение этих требований с высокой вероятностью создаст риск выполнения удалённого кода в приложении.

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

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

Добавить

Примечания пользователей 2 notes

up
9
kirilatpillaxdotcom
12 years ago
To highlight words in multi-byte text:

<?php
$s
= 'Алабала';
$f = 'а';
echo
preg_replace('/('.$f.')/iu', '<b>$1</b>', $s);
?>
up
4
cat at feelthehouse dot ru
16 years ago
Transliterator for cyrillic-to-latin letters for UTF chars:

<?php
function do_translit($st) {
$replacement = array(
"й"=>"i","ц"=>"c","у"=>"u","к"=>"k","е"=>"e","н"=>"n",
"г"=>"g","ш"=>"sh","щ"=>"sh","з"=>"z","х"=>"x","ъ"=>"\'",
"ф"=>"f","ы"=>"i","в"=>"v","а"=>"a","п"=>"p","р"=>"r",
"о"=>"o","л"=>"l","д"=>"d","ж"=>"zh","э"=>"ie","ё"=>"e",
"я"=>"ya","ч"=>"ch","с"=>"c","м"=>"m","и"=>"i","т"=>"t",
"ь"=>"\'","б"=>"b","ю"=>"yu",
"Й"=>"I","Ц"=>"C","У"=>"U","К"=>"K","Е"=>"E","Н"=>"N",
"Г"=>"G","Ш"=>"SH","Щ"=>"SH","З"=>"Z","Х"=>"X","Ъ"=>"\'",
"Ф"=>"F","Ы"=>"I","В"=>"V","А"=>"A","П"=>"P","Р"=>"R",
"О"=>"O","Л"=>"L","Д"=>"D","Ж"=>"ZH","Э"=>"IE","Ё"=>"E",
"Я"=>"YA","Ч"=>"CH","С"=>"C","М"=>"M","И"=>"I","Т"=>"T",
"Ь"=>"\'","Б"=>"B","Ю"=>"YU",
);

foreach(
$replacement as $i=>$u) {
$st = mb_eregi_replace($i,$u,$st);
}
return
$st;
}
?>
To Top