Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] Error con preg_replace

Estas en el tema de Error con preg_replace en el foro de PHP en Foros del Web. Buenos días compañeros, estoy intentando eliminar los comentarios de un archivo usando preg_replace. Elimino primeros los comentarios del estilo /* jh ijh jh */ y ...
  #1 (permalink)  
Antiguo 14/02/2013, 05:30
Avatar de Heent  
Fecha de Ingreso: diciembre-2008
Mensajes: 140
Antigüedad: 15 años, 11 meses
Puntos: 6
Pregunta Error con preg_replace

Buenos días compañeros, estoy intentando eliminar los comentarios de un archivo usando preg_replace.

Elimino primeros los comentarios del estilo /* jh ijh jh */ y luego elimino los del estilo //

Código PHP:
Ver original
  1. $str = preg_replace("/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/", '', $str);
  2. $str = preg_replace("/(//)[\x20-\x7E]*\n/", '', $str);

El problema es que me da unos warning que no encuentro solución. Me dio el mismo error y lo solucioné poniendo / al inicio y final de la expresión regular pero esta vez no funciona.

Cita:
PHP Warning: preg_replace() [<a href='function.preg-replace'>function.preg-replace</a>]: Unknown modifier ']'
PHP Warning: preg_replace() [<a href='function.preg-replace'>function.preg-replace</a>]: Unknown modifier '/'

Un saludo!
  #2 (permalink)  
Antiguo 14/02/2013, 06:07
Avatar de dashtrash
Colaborador
 
Fecha de Ingreso: abril-2007
Ubicación: Ni en Sevilla,ni en Sanlúcar..qué más da..
Mensajes: 927
Antigüedad: 17 años, 7 meses
Puntos: 270
Respuesta: Error con preg_replace

El problema está aqui:

(\*+([^*/]
Esa slash tienes que escapearla, o preg la va a tomar como fin de regexp, con lo que el siguiente caracter (]), lo toma como un modificador.

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 21:59.