Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/06/2013, 06:48
hackabyss01
 
Fecha de Ingreso: mayo-2013
Mensajes: 8
Antigüedad: 11 años, 6 meses
Puntos: 0
Expresiones regulares PCRE

Buenas a todos.

Tengo una duda con las expresiones regulares. Sólo las he usado una o dos veces pese al potencial que tiene y estoy intentando usarlas más pero no consigo que funcione lo siguiente:

Código PHP:
        $html "<html  lang=\"es\">
                <head>
                <title>Texto de prueba :D</title>"
;
        
        
$pattern "@<html(.*|\s*)</title>@i";
        
preg_match($pattern$html$match);
        
        echo 
$match[1]; 
Lo que quiero que haga es que retorne todo lo que hay entre una cosa y otra. En este caso son elementos de html.

El output creo que debería ser:
Código:
  lang=\"es\">
				<head>
				<title>Texto de prueba :D
Pero no es así. No me retorna nada y yo creo que se debe al grupo de carácteres admitidos entre los dos elementos. Si pongo (.*\s) me funciona pero sólo con un salto de línea (tened en cuenta que en el documento que intento procesar la estructura hace saltos de línea que se procesan como \s).

Así que mi pregunta es cómo puedo definir bien que quiero que entre los elementos pueda haber cualquiér carácter (.*), y salto de línea 0 o más veces porque con (.*\s*) no me funciona, ni con (.\s*), ni con (.*|\s*)... En fin. Perdon si mi problema es muy sencillo.

Saludos.