Multibyte String 函数
在线手册:中文 英文
PHP手册

mb_ereg

(PHP 4 >= 4.2.0, PHP 5)

mb_eregRegular expression match with multibyte support

说明

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

Executes the regular expression match with multibyte support.

参数

pattern

The search pattern.

string

The search string.

regs

Contains a substring of the matched string.

返回值

Executes the regular expression match with multibyte support, and returns 1 if matches are found. If the optional regs parameter was specified, the function returns the byte length of matched part, and the array regs will contain the substring of matched string. The function returns 1 if it matches with the empty string. If no matches are found or an error happens, FALSE will be returned.

注释

Note:

mb_regex_encoding() 指定的内部编码或字符编码将会当作此函数用的字符编码。

参见


Multibyte String 函数
在线手册:中文 英文
PHP手册
PHP手册 - N: Regular expression match with multibyte support

用户评论:

arash at hemmat dot biz (18-May-2010 10:32)

I could easily remove any non Persian (Farsi) characters using this function, the range for Arabic and Persian are shared so this code could be used for Arabic too.
<?php mb_ereg_replace("[^?-?]","-",$string); ?>

This is the reference for finding the character range of Unicode languages:
http://unicode.org/charts/

Jon (11-Apr-2009 12:22)

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");
?>