2009-08-12 8 views
5

Necesito una expresión regular en php para hacer coincidir los contenidos entre las etiquetas de un elemento, p. <body> y </body> con el perl compatible preg_match.Regex para que coincida con el contenido del cuerpo HTML en PHP

Hasta ahora he intentado con:

// $content is a string with html content 

preg_match("/<body(.|\r\n)*\/body>/", $content, $matches); 

print_r($matches); 

... pero la impresión es una matriz vacía.

Respuesta

0

partido Perl expresión regular de forma predeterminada una línea

tiene que especificar que desea hacer una búsqueda de varias líneas al agregar como o después del último/

ex:

$> perl -e 'print $1 if "bla\nbla\n<body>\nfirst line\n second line\n</body>\nbla" =~ /^.*<body>(.*)<\/body>.*$/s' 

véase: http://www.perl.com/pub/a/2003/06/06/regexps.html

+0

Establecer el indicador -m no es suficiente, ya que solo cambia el comportamiento de los operadores^y $. – Wookai

Cuestiones relacionadas