Foros del Web » Programando para Internet » PHP »

Duda Expresion regular quitar comentarios sql

Estas en el tema de Duda Expresion regular quitar comentarios sql en el foro de PHP en Foros del Web. Buenas, Estoy intentando armar una expresión regular que me coja todo el texto menos cuando hay comentarios SQL, estos quiero que los ignore. Teoricamente los ...
  #1 (permalink)  
Antiguo 14/03/2011, 15:36
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años, 8 meses
Puntos: 20
Duda Expresion regular quitar comentarios sql

Buenas,

Estoy intentando armar una expresión regular que me coja todo el texto menos cuando hay comentarios SQL, estos quiero que los ignore.

Teoricamente los comentarios empiezan o bien por dos guiones -- o por /*

Datos de entrada

--
-- Definition of table `prueba`
--
/*!40000 ALTER TABLE `prueba` DISABLE KEYS */;
DROP TABLE IF EXISTS `prueba`;
CREATE TABLE `prueba` (
`prueba_id` int(10) unsigned NOT NULL,
`prueba_name` varchar(35) COLLATE utf8_spanish_ci DEFAULT NULL,


Pero por más que intento excluir los caracteres no se como puedo continuar

[^-/*!]

También lo he intentado al reves, cogiendo los comentarios como por ej.
(/\*.*?\*/;)

Pero luego no se decirle que me coja todo excepto eso.

Sabéis como intentarlo?

Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 14/03/2011, 15:59
Avatar de enlinea777  
Fecha de Ingreso: mayo-2008
Ubicación: frente al pc
Mensajes: 1.830
Antigüedad: 16 años, 5 meses
Puntos: 127
Respuesta: Duda Expresion regular quitar comentarios sql

con esto:
Código PHP:
$text=str_replace("\n","",$text);
$text preg_replace('/\-\-.+\-\-/Us'''$text);  
$text preg_replace('/\/\*.+\*\//Us'''$text); 

Etiquetas: comentarios, expresion, quitar, regular, sql
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 15:14.