preg_match_all -- Realizar una comparación global con una
expresión regular
Descripción
int preg_match_all ( string patron, string asunto, array &coincidencias [, int banderas [, int desplazamiento]] )
Busca el asunto por todas las
coincidencias con la expresión regular dada
en patron, y las coloca en
coincidencias en el orden especificado
por banderas.
<b>ejemplo: </b>, <div align=left>esta es una prueba</div>
ejemplo: , esta es una prueba
Asà que $salida[0] contiene una matriz de cadenas
que coincidieron con el patrón completo, y
$salida[1] contiene una matriz de cadenas ubicadas entre
etiquetas.
PREG_SET_ORDER
Ordena los resultados de forma tal que $coincidencias[0] es
una matriz que contiene el primer conjunto de coincidencias,
$coincidencias[1] es una matriz con el segundo conjunto de
coincidencias, y asà sucesivamente.
<b>ejemplo: </b>, ejemplo:
<div align="left">esta es una prueba</div>, esta es una prueba
En este caso, $coincidencias[0] es el primer conjunto de
coincidencias, y $coincidencias[0][0] tiene el texto que
coincidió con el patrón completo,
$coincidencias[0][1] tiene el texto que coincidió con
el primer sub-patrón y asà sucesivamente. De
forma semejante, $coincidencias[1] es el segundo conjunto de
coincidencias, etc.
Si no se indica bandera alguna, se asume el uso
de PREG_PATTERN_ORDER.
Normalmente, la búsqueda comienza desde el inicio de la
cadena de asunto. El parámetro opcional
desplazamiento puede ser usado para
especificar el lugar alternativo desde donde debe iniciar la
búsqueda. El parámetro
desplazamiento se encuentra disponible a
partir de PHP 4.3.3.
Nota:
El uso de desplazamiento no es
equivalente a pasar substr($asunto,
$desplazamiento) a preg_match_all()
en lugar de la cadena de asunto, ya que
patron puede contener aserciones como
^, $ o
(?<=x). Vea
preg_match() para más ejemplos.
Devuelve el número de coincidencias con el patrón
completo (que puede ser cero), o FALSE si ocurre un error.
Ejemplo 1. Obtener todos los números telefónicos de un
segmento de texto.
Ejemplo 2. Encontrar etiquetas HTML coincidentes (de forma
ambiciosa)
<?php
// El \\2 es un ejemplo de referencia hacia atras. Este le dice a pcre // que debe buscar el segundo conjunto de parentesis en la expresion // regular misma, que seria ([\w]+) en este caso. La barra invertida // extra es requerida ya que la cadena se encuentra entre comillas // dobles. $html = "<b>texto en negrilla</b><a href=hola.html>haga clic aqui</a>";
coincidencia: <b>texto en negrilla</b>
parte 1: <b>
parte 2: texto en negrilla
parte 3: </b>
coincidencia: <a href=hola.html>haga clic aqui</a>
parte 1: <a href=hola.html>
parte 2: haga clic aqui
parte 3: </a>
Atención técnica y comercial: (54)-11-5031-1111 las 24 hs. los 365 días del año. ToWebs, (c) 2008
Virtucom Networks S.A Av. Belgrano 1586, piso 10 (C1093AAQ) Cap. Fed. Bs. As, Argentina.