mb_ereg_match

(PHP 4 >= 4.2.0, PHP 5)

mb_ereg_matchRegular expression match for multibyte string

Опис

bool mb_ereg_match ( string $pattern , string $string [, string $option = "msr" ] )

A regular expression match for a multibyte string

Параметри

pattern

The regular expression pattern.

string

The string being evaluated.

option

Значення, що повертаються

Returns TRUE if string matches the regular expression pattern, FALSE if not.

Примітки

Зауваження:

The internal encoding or the character encoding specified by mb_regex_encoding() will be used as the character encoding for this function.

Прогляньте Також

add a note add a note

User Contributed Notes 3 notes

up
11
Anonymous
8 years ago
The behaviour of mb_ereg_match to imply a ^ at the beginning of the pattern stands in stark contrast to the behaviour of mb_ereg where ^ is NOT implied.

Switching between those two routines (because the need to extract a subpattern changes) requires careful consideration when to compensate for this surprising inconsistence.
up
11
Anonymous
15 years ago
Note that this function matches a string from the beginning only (though not necessarily till the end):

<?php

$test
= mb_ereg_match("a", "some apples"); // returns false
$test = mb_ereg_match("a", "a kiwi");      // returns true

?>

If you want to check for a match anywhere in the string, use the wild-card & repeat operators .*

<?php

$test
= mb_ereg_match(".*a", "some apples"); // returns true

?>
up
-4
webdesign at innato dot nl
5 years ago
It took me a while to discover that you must escape characters like parentheses (), square brackets [] and ^ (and maybe more) if you want to match these as a literal. Otherwise you may get some erratic outcome.

In summary, using a match anywhere in the string as an example:

<?php
$needle
= "[";
$haystack = "some_array[]";
$test= mb_ereg_match(".*".$needle, $haystack);   // returns false and a php warning

$test= mb_ereg_match('.*'.preg_quote($needle), $haystack);   // returns true
?>
To Top