downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

mb_eregi_replace> <mb_ereg_search
[edit] Last updated: Fri, 07 Jun 2013

view this page in

mb_ereg

(PHP 4 >= 4.2.0, PHP 5)

mb_eregマルチバイト文字列に正規表現マッチを行う

説明

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

マルチバイト対応の正規表現マッチングを行います。

パラメータ

pattern

検索パターン。

string

検索文字列。

regs

マッチした string の部分文字列。

返り値

マルチバイト対応の正規表現マッチを行い、 一致した場合は 1 を返します。オプションの 3 番目の引数を 指定した場合は、一致した部分のバイト数を返し、一致した部分文字列が 配列 regs に格納されます。空文字に 一致した場合は 1 が返されます。正規表現に一致しないか、 エラーを発生した場合に FALSE を返します。

注意

注意:

内部エンコーディングあるいは mb_regex_encoding() で指定した文字エンコーディングを、 この関数の文字エンコーディングとして使用します。

参考

  • mb_regex_encoding() - 現在のマルチバイト正規表現用のエンコーディングを取得または設定する
  • mb_eregi() - マルチバイト文字列に大文字小文字を区別しない正規表現マッチを行う



mb_eregi_replace> <mb_ereg_search
[edit] Last updated: Fri, 07 Jun 2013
 
add a note add a note User Contributed Notes mb_ereg - [3 notes]
up
1
pressler at hotmail dot de
6 months 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
0
arash at hemmat dot biz
3 years ago
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/
up
0
Jon
4 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");
?>

 
show source | credits | stats | sitemap | contact | advertising | mirror sites