mb_regex_set_options
(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.
Regex options Option Meaning 更新日志 i Ambiguity match on x Enables extended pattern form m '.'
matches with newliness '^'
->'\A'
,'$'
->'\Z'
p Same as both the m
ands
optionsl 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 注意:
The
"e"
option has no effect when set through mb_regex_set_options(). Use it with mb_ereg_replace() or mb_eregi_replace().Regex syntax modes (only one may be set) 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.
更新日志
版本 | 说明 |
---|---|
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 .
|
参见
- mb_split() - 使用正则表达式分割多字节字符串
- mb_ereg() - Regular expression match with multibyte support
- mb_eregi() - Regular expression match ignoring case with multibyte support
用户贡献的备注 2 notes
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
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'.
备份地址:http://www.lvesu.com/blog/php/function.mb-regex-set-options.php