Foros del Web » Programando para Internet » PHP »

expresiones regulares

Estas en el tema de expresiones regulares en el foro de PHP en Foros del Web. buenos dias, soy muy malo con esto de las expresiones regulares, asique a ver si me podeis ayudar. Tengo un texto de varios cientos de ...
  #1 (permalink)  
Antiguo 16/07/2008, 03:11
 
Fecha de Ingreso: julio-2008
Mensajes: 50
Antigüedad: 15 años, 10 meses
Puntos: 0
expresiones regulares

buenos dias, soy muy malo con esto de las expresiones regulares, asique a ver si me podeis ayudar. Tengo un texto de varios cientos de lineas donde se repiten frecuentemente una linea que empieza por href:contenidos/ y la linea sique indicando donde se encuentra el recurso. Asique estoy buscando una expresion regular que coja ese principio de linea y el final de la linea es una nueva linea y por en medio el contenido es dinamico, y lo que quiero es eliminarla del texto. Todo esto es para una pagina web en PHP.

gracias por adelantado
  #2 (permalink)  
Antiguo 16/07/2008, 04:07
Avatar de desendoll  
Fecha de Ingreso: mayo-2008
Mensajes: 340
Antigüedad: 16 años
Puntos: 3
Respuesta: expresiones regulares

No se si te he entendido bien, pero mírate como leer linea por linea y expresiones como explode(), substr()... que encontraras en php.net
__________________
Francesc Jimenez
  #3 (permalink)  
Antiguo 16/07/2008, 05:30
 
Fecha de Ingreso: julio-2008
Mensajes: 50
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: expresiones regulares

$pattern ="/<(a|A) [^>]*(h|H)(r|R)(e|E)(f|F)=(\"|')(contenidos).*/";

$replace = "....";

$text = preg_replace( $pattern, $replace, $text );

He usado este codigo, pero me sigue sin funcionar ya que encuentra la linea pero borra todo el documento a partir de dicha linea, supongo que despues de .* habra que añadir algo para que el patron solo encaje con la linea y no con el documento entero.

gracias
  #4 (permalink)  
Antiguo 17/07/2008, 02:25
 
Fecha de Ingreso: julio-2008
Mensajes: 50
Antigüedad: 15 años, 10 meses
Puntos: 0
Respuesta: expresiones regulares

Sigo intentando y sigo sin conseguir resultados, ¿alguien sabria como ayudarme?
  #5 (permalink)  
Antiguo 17/07/2008, 03:40
Avatar de desendoll  
Fecha de Ingreso: mayo-2008
Mensajes: 340
Antigüedad: 16 años
Puntos: 3
Respuesta: expresiones regulares

no tengo ningún código echo, por lo que no te lo puedo pasar ( a no ser que discutamos precio, xD) pero te explico como lo haría:

1- No se de donde te viene este texto, pero muestra lo linea por linea (que puedas guardar cada linea en una variable), olvídate del texto en general, ahora solo trabajaras con una linea.

2- con substr($linea, 5) eliminaras las 5 primeras de cada linea, si todas tienen el href: ya esta. Para ver si existe la cadena sigue lo que te ha comentado maglor preg_match()

Tu explicación:
Cita:
Asique estoy buscando una expresion regular que coja ese principio de linea y el final de la linea es una nueva linea y por en medio el contenido es dinamico, y lo que quiero es eliminarla del texto
Lo que entiendo es que quieres sacar el principio de lineas, no te creas que es fácil entender una frase de 3 lineas con 25 y.
__________________
Francesc Jimenez
  #6 (permalink)  
Antiguo 17/07/2008, 03:47
Avatar de aloqui  
Fecha de Ingreso: diciembre-2007
Mensajes: 973
Antigüedad: 16 años, 4 meses
Puntos: 24
Respuesta: expresiones regulares

El carácter para el fin de linea es "$" (dolar), y el de inicio de linea '^"
Luego puedes usar el modificador "i" después de la barra que define la expresión regular. Esto es para que le valgan tanto mayúsculas como minúsculas y así simplificar tu expresión regular.

Puedes probar con:
Código:
$pattern ="/^href:contenidos\/.*$/i";
__________________
Grupos de Música
Pop Music Stars
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 19:17.