mb_ereg

(PHP 4 >= 4.2.0, PHP 5)

mb_eregComparación de expresiones regulares con soporte multibyte

Descripción

int mb_ereg ( string $pattern , string $string [, array $regs ] )

Ejecuta la comparación de expresiones regulares con soporte multibyte.

Parámetros

pattern

El patrón de búsqueda.

string

El string de búsqueda.

regs

Contiene un substring del string comparado.

Valores devueltos

Ejecuta la comparación de expresiones regulares con soporte multibyte, y devuelve 1 si se encontraron coincidencias. Si se especificó el parámetro opcional regs, la función devolverá la longitud en bytes de la parte comparada, y el array regs contendrá el substring del string comparado. La función devuelve 1 si coincide con el string vacío. Si no se encontraron coincidencias u ocurrió un error, devolverá FALSE.

Notas

Nota:

La codificación interna o la codificación especificada por mb_regex_encoding() será usada en esta función.

Ver también

  • mb_regex_encoding() - Establecer/obtener la codificación de caracteres para expresiones regulares multibyte
  • mb_eregi() - Comparación de expresiones regulares ignorando mayúsculas/minúsculas con soporte multibyte

add a note add a note

User Contributed Notes 3 notes

up
1
pressler at hotmail dot de
2 years ago
Note that mb_ereg() does not support the \uFFFF unicode syntax but uses \x{FFFF} instead:

<?PHP

$text
= 'Peter is a boy.'; // english
$text = 'بيتر هو صبي.'; // arabic
//$text = 'פיטר הוא ילד.'; // hebrew

mb_regex_encoding('UTF-8');

if(
mb_ereg('[\x{0600}-\x{06FF}]', $text)) // arabic range
//if(mb_ereg('[\x{0590}-\x{05FF}]', $text)) // hebrew range
{
    echo
"Text has some arabic/hebrew characters.";
}
else
{
    echo
"Text doesnt have arabic/hebrew characters.";
}

?>
up
1
Riikka K
4 months ago
While hardly mentioned anywhere, it may be useful to note that mb_ereg uses Oniguruma library internally. The syntax for the default mode (ruby) is described here:

http://www.geocities.jp/kosako3/oniguruma/doc/RE.txt
up
1
Jon
5 years ago
Hebrew regex tested on PHP 5, Ubuntu 8.04.
Seems to work fine without the mb_regex_encoding lines (commented out).
Didn't seem to work with \uxxxx (also commented out).

<?php
echo "Line ";
//mb_regex_encoding("ISO-8859-8");
//if(mb_ereg(".*([\u05d0-\u05ea]).*", $this->current_line))
if(mb_ereg(".*([א-ת]).*", $this->current_line))
{
    echo
"has";
}
else
{
    echo
"doesn't have";
}
echo
" Hebrew characters.<br>";   
//mb_regex_encoding("UTF-8");
?>
To Top