Foros del Web » Programando para Internet » PHP »

Ayuda con expresión regular simple

Estas en el tema de Ayuda con expresión regular simple en el foro de PHP en Foros del Web. Tengo el siguiente patrón: Código PHP: $patron  =  '/(.*) (\-.*)/is' ; $sustitucion  =  '${2}' ; $cadena  =  "Rural al Gobierno - TN - Todo Noticias" ; return  preg_replace ( $patron ,  $sustitucion ,  ...
  #1 (permalink)  
Antiguo 01/08/2010, 13:02
 
Fecha de Ingreso: mayo-2003
Mensajes: 544
Antigüedad: 21 años
Puntos: 1
Ayuda con expresión regular simple

Tengo el siguiente patrón:

Código PHP:
$patron '/(.*) (\-.*)/is';
$sustitucion '${2}';
$cadena "Rural al Gobierno - TN - Todo Noticias";
return 
preg_replace($patron$sustitucion$cadena); 
El resultado de ésto es Todo Noticias pero tendría que ser TN - Todo Noticias, o sea, que solo tenga en cuenta el primer guión (-) para hacer la separación y los otros guiones (si es que hay) los deje como parte del texto.

Gracias!
__________________
CSSBoulevar
Recursos para diseñadores y programadores webs
  #2 (permalink)  
Antiguo 01/08/2010, 19:45
 
Fecha de Ingreso: julio-2008
Mensajes: 85
Antigüedad: 15 años, 9 meses
Puntos: 2
Respuesta: Ayuda con expresión regular simple

Este patrón te sirve para lo que buscas


Fíjate además que en el que tu propones, al usar .* como parte del patrón, cogerá tantos caracteres como pueda. Eso significa que si tienes la cadena "hola - que - tal - pascual", ".*" coincidirá con "hola - que - tal".

Eso lo solucionamos usando en su lugar ".*?" , que significa que coja los menos caracteres posibles. Lo que nos va de lujo para eliminar solamente el inicio.

Y por otra parte no te hace falta capturar

Al final quedaría algo tal que así:
Código PHP:
$patron '/^.*? -/s';
$sustitucion '';
$cadena "Rural al Gobierno - TN - Todo Noticias";
return 
preg_replace($patron$sustitucion$cadena); 
__________________
Perros y cachorros
  #3 (permalink)  
Antiguo 01/08/2010, 20:12
 
Fecha de Ingreso: mayo-2003
Mensajes: 544
Antigüedad: 21 años
Puntos: 1
Respuesta: Ayuda con expresión regular simple

EXCELENTE! MUCHAS GRAICAS!
Sos un genio!!!
__________________
CSSBoulevar
Recursos para diseñadores y programadores webs

Etiquetas: regular, simple
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 04:05.