|
Busca en asunto por una coincidencia con la expresión regular dada en patron.
Si se entrega el parámetro coincidencias, entonces éste es llenado con los resultados de la búsqueda. $coincidencias[0] contendrá el texto que coincidió con el patrón completo, $coincidencias[1] tendrá el texto que coincidió con el primer sub-patrón en paréntesis capturado, y así sucesivamente.
banderas puede ser la siguiente bandera:
Si es pasada esta bandera, entonces para cada coincidencia encontrada también será devuelto el desplazamiento de la cadena anexa. Note que esto modifica el valor de retorno a una matriz en donde cada elemento es una matriz que consiste de la cadena coincidente en la posición 0 y su desplazamiento de cadena al interior de asunto en la posición 1. Esta bandera está disponible desde PHP 4.3.0.
Normalmente, la búsqueda comienza desde el principio de la cadena de asunto. El parámetro opcional desplazamiento puede ser usado para especificar el lugar alterno desde donde empezar la búsqueda. El parámetro desplazamiento está disponible desde PHP 4.3.3.
Nota: El uso de desplazamiento no es equivalente a pasar substr($asunto, $desplazamiento) a preg_match() en lugar de la cadena de asunto, ya que patron puede contener aserciones tales como ^, $ o (?<=x). Compare:
<?php
$asunto = "abcdef";
$patron = '/^def/';
preg_match($patron, $asunto, $coincidencias, PREG_OFFSET_CAPTURE, 3);
print_r($coincidencias);
?>El resultado del ejemplo seria:
Array ( )mientras que el siguiente ejemplo
<?php
$asunto = "abcdef";
$patron = '/^def/';
preg_match($patron, substr($asunto,3), $coincidencias, PREG_OFFSET_CAPTURE);
print_r($coincidencias);
?>producirá
Array ( [0] => Array ( [0] => def [1] => 0 ) )
preg_match() devuelve el número de veces que patron coincide. Este número será 0 (no existe coincidencia) o 1, ya que preg_match() detendrá la búsqueda después de la primera coincidencia. Por el contrario, preg_match_all() continuará hasta llegar al final de asunto. preg_match() devuelve FALSE si ocurre un error.
Sugerencia: No use preg_match() si sólo desea verificiar si una cadena está contenida en otra. Use strpos() o strstr() en su lugar, ya que éstas son alternativas más rápidas.
Ejemplo 2. Buscar la palabra "web"
|
Ejemplo 3. Obtener el nombre de dominio de una URL
Este ejemplo producirá:
|
Vea también preg_match_all(), preg_replace(), y preg_split().
Hosting by: hurra.com
Generated: 2007-01-26 18:00:49