mb_eregi_replace

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

mb_eregi_replaceExpresión regular con soporte para caracteres multibyte, sin distinción de mayúsculas y minúsculas

Descripción

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

Analiza la cadena string con el patrón de expresión regular pattern, luego reemplaza el texto encontrado por replacement.

Parámetros

pattern

La expresión regular. Pueden utilizarse caracteres multibyte. La distinción de mayúsculas y minúsculas será ignorada.

replacement

El texto de sustitución.

string

La cadena a buscar.

options
Las opciones de búsqueda. Ver mb_regex_set_options() para más detalles.

Valores devueltos

La cadena resultante, o false si ocurre un error. Si string no es válido para la codificación actual, se devuelve null.

Historial de cambios

Versión Descripción
8.0.0 options ahora es nullable.
7.1.0 Esta función verifica si string es válido para la codificación actual.
7.1.0 El modificador e ahora está obsoleto.

Notas

Nota:

La codificación interna o la codificación de caracteres especificada por mb_regex_encoding() se utilizará como codificación de caracteres para esta función.

Advertencia

Nunca utilice el modificador e con datos de entrada no confiables. No se realizará ningún escape automático (como se conoce de preg_replace()). No tener esto en cuenta probablemente creará vulnerabilidades de ejecución remota de código en la aplicación.

Ver también

  • mb_regex_encoding() - Define/Recupera la codificación de caracteres para las expresiones regulares multioctetos
  • mb_ereg_replace() - Reemplaza segmentos de cadena mediante expresiones regulares

add a note

User Contributed Notes 2 notes

up
8
kirilatpillaxdotcom
13 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
17 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