PHP 8.5.0 Alpha 1 available for testing

mb_regex_set_options

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

mb_regex_set_optionsLee y modifica las opciones de las funciones de expresión regular con soporte para caracteres multibyte

Descripción

mb_regex_set_options(?string $options = null): string

Configura las opciones por omisión con los nuevos valores contenidos en options, para las funciones de expresión regular con soporte para caracteres multibyte.

Parámetros

options

Las opciones a definir, en forma de un string donde cada carácter es una opción. Para definir un modo, se debe colocar el carácter que representa este modo al final, el resto de los caracteres serán las opciones. Solo puede definirse un modo, mientras que pueden definirse múltiples opciones.

Opciones para la expresión
Opción Significado Historial de cambios
i Activa la ambigüedad  
x Activa los patrones extendidos  
m El carácter '.' también corresponde a nuevas líneas  
s '^' -> '\A', '$' -> '\Z'  
p Idéntico a las opciones m y s  
l Encuentra la correspondencia más larga  
n Ignora las correspondencias vacías  
e Utiliza la función eval() sobre el resultado Deprecado a partir de PHP 7.1.0 y eliminado a partir de PHP 8.0.0

Nota:

La opción "e" no tiene efecto cuando es definida por la mb_regex_set_options(). Úsese con mb_ereg_replace() o mb_eregi_replace().

Modos de sintaxis de la expresión regular (solo uno puede ser definido)
Modo Significado
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

Valores devueltos

Las opciones anteriores. Si el parámetro options es omitido o null, se retornará un string describiendo las opciones actuales.

Historial de cambios

Versión Descripción
8.0.0 Si el parámetro options es proporcionado y no null, se retornan las opciones anteriores. Anteriormente, se retornaban las opciones actuales.
8.0.0 options ahora es nullable.
8.0.0 La opción "e" ahora lanza una ValueError.
7.1.0 La opción "e" ahora emite una E_DEPRECATED.

Ver también

  • mb_split() - Divide una string en un array utilizando una expresión regular multibyte
  • mb_ereg() - Búsqueda por expresión regular con soporte para caracteres multibyte
  • mb_eregi() - Expresión regular insensible a mayúsculas/minúsculas con soporte para caracteres multioctetos

add a note

User Contributed Notes 2 notes

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