CakeFest 2024: The Official CakePHP Conference

mb_regex_set_options

(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

mb_regex_set_optionsLit et modifie les options des fonctions d'expression rationnelle à support de caractères multioctets

Description

mb_regex_set_options(?string $options = null): string

Configure les options par défaut avec les nouvelles valeurs contenues dans options, pour les fonctions d'expression rationnelle à support de caractères multioctets.

Liste de paramètres

options

Les options à définir, sous la forme d'une chaîne dont chaque caractère est une option. Pour définir un mode, vous devez placer le caractère représentant ce mode en dernier, le reste des caractères sera les options. Vous ne pouvez définir qu'un seul mode, alors que vous pouvez définir plusieurs options.

Options pour l'expression
Option Signification Historique
i Active l'ambiguïté  
x Active les masques étendus  
m Le caractère '.' correspond également à de nouvelles lignes  
s '^' -> '\A', '$' -> '\Z'  
p Identique aux options m et s  
l Trouve la plus longue correspondance  
n Ignore les correspondances vides  
e Utilise la fonction eval() sur le résultat Obsolète à partir de PHP 7.1.0 et supprimée à partir de PHP 8.0.0

Note:

L'option "e" n'a pas d'effet lorsqu'elle est définie par la mb_regex_set_options(). Utilisez-la avec mb_ereg_replace() ou mb_eregi_replace().

Modes de syntaxe de l'expression rationnelle (un seul peut être défini)
Mode Signification
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

Valeurs de retour

Les options précédentes. Si le paramètre options est omis ou null, une chaîne de caractères décrivant les options courantes sera retourné.

Historique

Version Description
8.0.0 Si le paramètre options est fourni et non null, les options précédentes sont retournées. Auparavant, les options courantes étaient retournées.
8.0.0 options est désormais nullable.
8.0.0 L'option "e" lance désormais une ValueError.
7.1.0 L'option "e" émet désormais une E_DEPRECATED.

Voir aussi

  • mb_split() - Scinde une chaîne en tableau avec une expression rationnelle multioctets
  • mb_ereg() - Recherche par expression rationnelle avec support des caractères multioctets
  • mb_eregi() - Expression rationnelle insensible à la casse avec le support des caractères multioctets

add a note

User Contributed Notes 2 notes

up
1
indeyets at php dot net
14 years ago
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
up
0
patryk dot szczyglowski at gmail dot com
15 years ago
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'.
To Top