Descripción
int
preg_match_all
( string pattern, string subject, array matches [, int order])
Busca
en
subject
todos
los
emparejamientos
de
la
expresión
pattern
y
los
pone
en
matches
de
la
forma
indicada
por
order
.
Después
de
encontrar
el
primer
emparejamiento
,
las
subsiguientes
búsquedas
empiezan
desde
el
punto
del
último
casamiento
.
order
puede
tener
los
siguientes
valores
:
- PREG_PATTERN_ORDER
-
Los
resultados
serán
devueltos
de
manera
que
$matches[
0
]
es
un
array
con
el
patrón
de
búsqueda
completo
,
$matches[1
]
es
una
array
de
las
cadenas
casadas
por
el
primer
subpatrón
que
esté
entre
paréntesis
y
así
sucesivamente
.
Esta ejemplo dará como resultado:
Así, $out[0] contiene el array con las cadena que casan
completamente con el patrón y $out[1] con las cadenas que se
encuentran entre los tags.
- PREG_SET_ORDER
-
Los
resultados
son
dados
de
manera
que
$matches[
0
]
es
una
array
del
primer
conjunto
de
emparejamientos
,
$matches[1
]
es
un
array
de
los
segundos
conjuntos
de
casamientos
y
así
sucesivamente
.
Este ejemplo dará como resultado:
En este caso, $matches[0] es el primer conjunto de
emparejamientos y $matches[0][0] tiene el casamiento
completo, $matches[0][1] el del primer subpatrón y así
sucesivamente. Similarmente, $matches[1] es el segundo
conjunto de emparejamientos, etc.
Si
order
no
es
dado
,
se
asume
PREG_PATTERN_ORDER
.
Devuelve
el
número
de
casamientos
completos
,
FALSE
si
no
hubo
o
se
produjo
error
.
Ejemplo
1
.
Obtener
los
número
de
teléfonos
de
un
texto
.
preg_match_all(
"
/
\(
?
(\d{3})
?
\)
?
(
?(1
)
[\-\s
]
)
\d{3}-\d{4}
/
x"
,
"Call
555-1212
or
1-800-555-1212"
,
$phones)
;
|
|
Examina
también
preg_match(
)
,
preg_replace(
)
y
preg_split(
)
.