(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)
mb_regex_set_options — Set/Get the default options for mbregex functions
Sets the default options described by options
for multibyte regex functions.
options
The options to set. This is a string where each character is an option. To set a mode, the mode character must be the last one set, however there can only be set one mode but multiple options.
Option | Meaning | Changelog |
---|---|---|
i | Ambiguity match on | |
x | Enables extended pattern form | |
m | '.' matches with newlines |
|
s | '^' -> '\A' , '$' -> '\Z' |
|
p | Same as both the m and s options |
|
l | Finds longest matches | |
n | Ignores empty matches | |
e | eval() resulting code | Deprecated as of PHP 7.1.0 and removed as of PHP 8.0.0 |
Note:
The
"e"
option has no effect when set through mb_regex_set_options(). Use it with mb_ereg_replace() or mb_eregi_replace() .
Mode | Meaning |
---|---|
j | Java (Sun java.util.regex) |
u | GNU regex |
g | grep |
c | Emacs |
r | Ruby |
z | Perl |
b | POSIX Basic regex |
d | POSIX Extended regex |
The previous options. If options
is omitted or null
,
it returns the string that describes the current options.
Version | Description |
---|---|
8.0.0 |
If the parameter options is given and not null , the previous
options are returned. Formerly, the current options have been returned.
|
8.0.0 |
options is nullable now.
|
8.0.0 |
The "e" option now throws a ValueError .
|
7.1.0 |
The "e" option now emits an E_DEPRECATED .
|
Supported options are:
i - ONIG_OPTION_IGNORECASE
x - ONIG_OPTION_EXTEND
m - ONIG_OPTION_MULTILINE
s - ONIG_OPTION_SINGLELINE
p - ONIG_OPTION_MULTILINE | ONIG_OPTION_SINGLELINE
l - ONIG_OPTION_FIND_LONGEST
n - ONIG_OPTION_FIND_NOT_EMPTY
j - ONIG_SYNTAX_JAVA
u - ONIG_SYNTAX_GNU_REGEX
g - ONIG_SYNTAX_GREP
c - ONIG_SYNTAX_EMACS
r - ONIG_SYNTAX_RUBY
z - ONIG_SYNTAX_PERL
b - ONIG_SYNTAX_POSIX_BASIC
d - ONIG_SYNTAX_POSIX_EXTENDED
e - eval() resulting code
Constants above are from Oniguruma regexp library, which is used internally. Default value for PHP 5.2.x is 'pr'.
It's a bit trickier, than patryk wrote:
There are parameters (you can specify several of these at the same time):
'i': ONIG_OPTION_IGNORECASE;
'x': ONIG_OPTION_EXTEND;
'm': ONIG_OPTION_MULTILINE;
's': ONIG_OPTION_SINGLELINE;
'p': ONIG_OPTION_MULTILINE | ONIG_OPTION_SINGLELINE;
'l': ONIG_OPTION_FIND_LONGEST;
'n': ONIG_OPTION_FIND_NOT_EMPTY;
'e': eval() resulting code
And there are "modes" (if you specify several of these, the LAST one will be used):
'j': ONIG_SYNTAX_JAVA;
'u': ONIG_SYNTAX_GNU_REGEX;
'g': ONIG_SYNTAX_GREP;
'c': ONIG_SYNTAX_EMACS;
'r': ONIG_SYNTAX_RUBY;
'z': ONIG_SYNTAX_PERL;
'b': ONIG_SYNTAX_POSIX_BASIC;
'd': ONIG_SYNTAX_POSIX_EXTENDED;
You can find descriptions of these constants here: http://www.geocities.jp/kosako3/oniguruma/doc/API.txt