2012-09-19 20 views
5

Tengo la función preg_replace que estoy llamando y poniendo en varias líneas para la legibilidad pero los caracteres */ en la expresión regular desordenan los comentarios. ¿Cómo puedo comentar todas estas líneas sin moverlas todas a una línea?Cómo comenta el */Parte de una expresión regular en PHP

return preg_replace('/.*/', 
    'Lorem Ipsum' . 
    'More Lorem Ipsum' 
    , 
    $foo); 

Respuesta

9

Se puede usar un carácter diferente patrón de expresión delimitador:

return preg_replace('#.*#', 
    'Lorem Ipsum' . 
    'More Lorem Ipsum' 
    , 
    $foo); 

EDIT: El carácter delimitador es una característica de PCRE (Perl Compatible Regular expresssion). No se necesita configuración de PHP para usar un delimitador diferente.

Regexp Quote-Like Operators

... se puede usar cualquier par de no alfanuméricos, caracteres no está en blanco como delimitadores. Esto es particularmente útil para emparejar nombres de ruta que contengan "/", para evitar LTS (síndrome de toothpick inclinado).

Quote and Quote-like Operators

delimitadores no horquillado utilizan el mismo plano carácter y popa, pero los cuatro tipos de soportes ASCII (redondo, ángulo, cuadrado, rizados) todos nido

Todos estos son válidos:

'/.*/' 
'#.*#' 
'{.*}' /* Note that '{.*{' would be incorrect. */ 

Echa un vistazo a PHP's documentation on PCRE Patterns para ver una muy buena descripción.

+0

¿Y php detecta automáticamente el diferente carácter del delimitador? ¿O tengo que establecer eso en alguna parte? – BFTrick

+0

Acabo de actualizar la respuesta con más información para responder a su pregunta sobre el carácter delimitador. – jimp

+1

Usted, señor, es increíble. :) – BFTrick

Cuestiones relacionadas