Descripción
mixed
preg_replace
( mixed pattern, mixed replacement, mixed subject)
Busca
en
subject
los
emparejamientos
con
pattern
y
los
sustituye
por
replacement
.
replacement
puede
contener
referencias
de
la
forma
\\
n
.
Éstas
serán
sustituidas
por
el
texto
obtenido
por
el
patrón
del
paréntesis
n
ésimo
.
n
puede
tener
un
valor
de
cero
a
noventa
y
nueve
,
y
\\0
se
refiere
al
texto
casado
por
el
patrón
completo
.
Para
obtener
el
número
del
subpatrón
de
búsqueda
,
los
paréntesis
abiertos
son
contados
de
izquierda
derecha
tomando
el
primero
como
uno
.
Si
el
patrón
no
es
encontrado
en
subject
,
entonces
no
se
realizarán
cambios
.
Todos
los
parámetros
de
la
función
preg_replace(
)
pueden
ser
un
array
.
Si
subject
es
un
array
,
entonces
la
búsqueda
y
sustitución
es
realizada
para
todos
los
elementos
de
subject
,
y
el
valor
devuelto
es
también
un
array
.
Si
pattern
y
replacement
son
arrays
,
entonces
preg_replace(
)
toma
un
valor
desde
cada
array
y
los
usas
para
buscar
y
sustituir
sobre
subject
.
Si
replacement
tiene
menos
valores
que
pattern
,
entonces
la
cadena
vacía
es
usada
como
valor
para
el
resto
de
sustituciones
.
Si
pattern
es
una
array
y
replacement
es
una
cadena
,
entonces
esta
cadena
de
sustitución
es
usada
para
todos
los
valores
de
pattern
.
Sin
embargo
,
lo
contrario
no
tiene
sentido
.
El
modificador
/
e
hace
que
la
función
preg_replace(
)
trate
el
parámetro
replacement
como
código
PHP
después
de
que
la
apropiada
sustitución
sea
hecha
.
Atención
,
asegúrate
que
replacement
es
un
código
PHP
correcto
,
de
otro
modo
PHP
dará
un
error
de
parse
en
la
línea
que
contenga
preg_replace(
)
.
Nota
:
Este
modificador
fue
añadido
en
PHP
4.0
.
Ejemplo
1
.
Sustituir
varios
valores
$patterns
=
array(
"
/
(19|20\d{2})
-(\d{1,2})
-(\d{1,2})
/
"
,
"
/
^\s*{(\w+)}\s*=
/
")
;
$replace
=
array("\\3
/
\\4
/
\\1"
,
"$\\1
=")
;
print
preg_replace($patterns
,
$replace
,
"{startDate
}
=
1999-5-27")
;
|
|
Esta ejemplo dará como resultado:
Ejemplo
2
.
Usar
el
modificador
/
e
preg_replace(
"
/
(
\
/
?)(\w+)([^
]*
)
/
e"
,
"'\\1'.strtoupper('\\2')
.'\\3'"
,
$html_body)
;
|
Pondrá
en
mayúscula
todos
los
tags
HTML
del
texto
de
entrada
.
|
Examina
también
preg_match(
)
,
preg_match_all(
)
,
y
preg_split(
)
.