Ver Mensaje Individual
  #1 (permalink)  
Antiguo 25/01/2010, 02:42
Avatar de neodani
neodani
 
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 9 meses
Puntos: 20
Problema con expresion regular, escapar coma

Buenas,

Tengo la siguiente expresión regular, funciona bien si no le pongo variable $propiedad

Es decir si la llamo así
Código PHP:
Ver original
  1. [\.#\s\w:-]*\#user_pass[,\s+][\.#\s\w:-]*\{[^\}]*\}

Pero a la que le ponga

$propiedad='user_pass';


Código PHP:
Ver original
  1. preg_match_all("/[\.#\s\w:-]*\#$propiedad[,\s+]+[\.#\s\w:-]*\{[^\}]*\}/is",$css,$matches);

Me arroja este error
Parse error: syntax error, unexpected ',', expecting T_STRING or T_VARIABLE or T_NUM_STRING


SCRIPT
Código PHP:
Ver original
  1. <?
  2. $css='#login form .submit input:hover {
  3. background-color: #9ACBEF;
  4. border-color: #328AB2;
  5. color: #FFF; }
  6.  
  7. h1 #prueba, h2 #login {border:0px;
  8. color:red;
  9. }
  10.  
  11. #login_error {
  12.     background-color: #FFEBE8;
  13.     border-color: #CC0000;
  14.     border-style: solid;
  15.     border-width: 1px;
  16.     margin: 0 0 13px 8px;
  17.     padding: 8px; }
  18.  
  19. #user_pass, #user_login {font-size: 20px;
  20.     margin-right: 6px;
  21.     padding: 3px;
  22.     width: 97%; }
  23. ';
  24. $propiedad='user_pass';
  25. preg_match_all("/[\.#\s\w:-]*\#$propiedad[,\s+]+[\.#\s\w:-]*\{[^\}]*\}/is",$css,$matches);
  26.  
  27. echo "<pre>";
  28. print_r($matches[0]);
  29. echo "</pre>";
  30.  
  31. foreach ($matches[0] as $propiedad) {
  32.     echo $propiedad;
  33. }
  34. ?>

¿Alguien sabe por qué pasa esto?

Muchas gracias de antemano!