Foros del Web » Programando para Internet » PHP »

Ayuda expresion regular: Comentario (?)

Estas en el tema de Ayuda expresion regular: Comentario (?) en el foro de PHP en Foros del Web. bueno estoy asiendo una función para resaltar texto de diferentes lenguajes... el problema llega al momento de los comentarios.. voy en el mas simple y ...
  #1 (permalink)  
Antiguo 19/01/2010, 08:12
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Pregunta Ayuda expresion regular: Comentario (?)

bueno estoy asiendo una función para resaltar texto de diferentes lenguajes...
el problema llega al momento de los comentarios.. voy en el mas simple y la expresión simple y llanamente no se me ocurre

quería ver si me podían orientar un poco con esto.

Código PHP:
Ver original
  1. $test = <<<EOT
  2. $palabra = "hola"; // comentario
  3. $palabra = "hola // no comentario"; //comentario
  4. $palabra = "hola" //comentario
  5. ;
  6. EOT;

lo que la expresión debería decir es..
Cualquier palabra que este después de // y antes de un salto de linea (\n) pero que no este entre comillas..

si me pueden guiar un poco con el asunto se agradecerá mucho =)

saludos!



PD: se que hay algunos ya hechos y también conozco la existencia de highlight_string para que no me den esas respuestas ..
__________________
More about me...
~ @rhyudek1
~ Github
  #2 (permalink)  
Antiguo 19/01/2010, 08:29
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Ayuda expresion regular: Comentario (?)

Creo que lo mejor en estos casos es primero excluir con una expresión regular todo lo que no debe ser procesado (lo que está dentro de comillas) y procesar el resto.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 19/01/2010, 09:07
Avatar de SergeMedina  
Fecha de Ingreso: septiembre-2007
Ubicación: Guadalajara, Jalisco
Mensajes: 459
Antigüedad: 16 años, 7 meses
Puntos: 20
Respuesta: Ayuda expresion regular: Comentario (?)

Hola Hidek. Construi esta expresión, no la probe exhaustivamente asi que no estoy completamente seguro que funcione para todos los casos.

Código PHP:
Ver original
  1. "(?<!("|'))//(\w+\s*)+(?<!\1)";

Nota: si tienes un editor de expresiones regulares como regexbuddy te ayudaria mucho (La construi con ayuda de este).

Saludos.
__________________
I see dead pixels
  #4 (permalink)  
Antiguo 19/01/2010, 09:14
Colaborador
 
Fecha de Ingreso: octubre-2009
Ubicación: Tokyo - Japan !
Mensajes: 3.867
Antigüedad: 14 años, 6 meses
Puntos: 334
Respuesta: Ayuda expresion regular: Comentario (?)

es mas o menos lo que tenia... pero el problema era que eso solo hace match con esto
"//comentario"
no con
"texto //comentario";

aunque gracias por el dato del comentario.. estoy tratando de ver la forma de dejar fuera los string para que no los tome el preg_replace =)

gracias a los 2
__________________
More about me...
~ @rhyudek1
~ Github

Etiquetas: comentario, expresion, regular
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 01:28.