Foros del Web » Programando para Internet » PHP »

Uso de eregi_replace() y Regex !

Estas en el tema de Uso de eregi_replace() y Regex ! en el foro de PHP en Foros del Web. Hola! trato de cambiar esta url usando eregi_replace() : Código PHP: http : //www.miwebvideos.com/video14734/nombre_video_largo  y que quede de esta forma : Código PHP: ? video ...
  #1 (permalink)  
Antiguo 09/03/2008, 09:52
Avatar de razengan  
Fecha de Ingreso: agosto-2007
Ubicación: Lima - Perulandia
Mensajes: 117
Antigüedad: 16 años, 8 meses
Puntos: 2
Uso de eregi_replace() y Regex !

Hola!

trato de cambiar esta url usando eregi_replace() :

Código PHP:
http://www.miwebvideos.com/video14734/nombre_video_largo 
y que quede de esta forma :

Código PHP:
?video=14734&nombre=nombre_video_largo 
como podria hacer no manejo mucho regex .

Espero me puedan ayudar
  #2 (permalink)  
Antiguo 09/03/2008, 11:20
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Re: Uso de eregi_replace() y Regex !

No soy muy diestro en el tema de expresiones regulares, pero estuve probando con preg_replace, y así me resultó...

Código PHP:

 $var_original 
"http://www.miwebvideos.com/video14734/nombre_video_largo";
 
 
$pattern_search  "/http:\/\/www\.miwebvideos\.com\/video(\d+)\/(\w+)$/is";
 
$pattern_replace  "?video=$1&nombre=$2";

 echo 
preg_replace($pattern_search$pattern_replace$var_original); 
No creo que esté super optimizado ni que funcione siempre, es probable que falle.. pero por lo menos para el ejemplo que nos diste me funcionó xD...

Espero te sirva. Nos vemos.
  #3 (permalink)  
Antiguo 09/03/2008, 14:06
Avatar de razengan  
Fecha de Ingreso: agosto-2007
Ubicación: Lima - Perulandia
Mensajes: 117
Antigüedad: 16 años, 8 meses
Puntos: 2
Re: Uso de eregi_replace() y Regex !

gracias el ejmplo funciona perfectamente pero cuando yo lo uso para buscar en este texto

Código PHP:
<div class="thumbs\"><a href="http://www.misvideos.com/video14804/Housewife_-_Krysti_Lynn_beautiful_blonde" class="miniature">
<span >Housewife Krysti Lynn beautiful blonde </span>
</
a>
</
div
simplemente no funciona no reconoce nada que se podria hacer ?
  #4 (permalink)  
Antiguo 09/03/2008, 14:57
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Re: Uso de eregi_replace() y Regex !

En ese caso ( estuve probando nuevamente xD ) y lo solucioné cambiando un patrón nada más...

$pattern_search = "/http:\/\/www\.miwebvideos\.com\/video(\d+)\/(.*?)$/is";

Anteriormente la otra cadena tenía \w+ en vez de (.*?)

Leyendo en php.net menciona que \w hace referencia a cualquier caracter de "palabra".

y especifica qué :

Un caracter de "palabra" es cualquier letra o dígito, o el caracter de subrayado, esto quiere decir, cualquier caracter que pueda ser parte de una "palabra" en Perl


Por esa razón cambié el patrón, porque la nueva cadena que pasaste contiene un guión que no es parte de los carácteres de "palabra".


En cuánto al nuevo patrón, php menciona qué :

. ( punto ) : coincide con cualquier caracter excepto la nueva línea (por defecto)

* ( asterisco ) : cuantificador cero o más , es decir, cero o más carácteres.

? ( signo de interrogación ) : extiende el significado de (, también es el cuantificador 0 ó 1 también es el cuantificador de mínimo

Aquí tienens todas las síntaxis de los patrones... para que los leas xD...

http://cl.php.net/manual/es/referenc...ern.syntax.php



PD : Hay otra cosa... en la primera cadena, la página que pusiste es "miwebvideos" y la segunda es "misvideos"... si esa página cambia, deberás cambiarla en la cadena también, o sino no funcionará...

PD2 : Poco más y cito php.net completo XD...

Nos vemos.
  #5 (permalink)  
Antiguo 09/03/2008, 15:08
Avatar de razengan  
Fecha de Ingreso: agosto-2007
Ubicación: Lima - Perulandia
Mensajes: 117
Antigüedad: 16 años, 8 meses
Puntos: 2
Re: Uso de eregi_replace() y Regex !

Excelente spider_boy ,muchas gracias, tomarelas referncias que dejaste y las estudiare, gracias nuevamente.
  #6 (permalink)  
Antiguo 09/03/2008, 15:12
Avatar de spider_boy  
Fecha de Ingreso: diciembre-2003
Ubicación: Chile
Mensajes: 1.855
Antigüedad: 20 años, 4 meses
Puntos: 89
Re: Uso de eregi_replace() y Regex !

De nada... para eso estamos . Cualquier duda, acá estaremos XD
  #7 (permalink)  
Antiguo 11/03/2008, 09:40
Avatar de razengan  
Fecha de Ingreso: agosto-2007
Ubicación: Lima - Perulandia
Mensajes: 117
Antigüedad: 16 años, 8 meses
Puntos: 2
Re: Uso de eregi_replace() y Regex !

Una pregunta que es del mismo tema veras estoy parsando un contenido :

Código PHP:
<title>Canciones de Mana Como Dueles En Los Labios -   Letras de Canciones miwebdeletras.com</title
y necesitaria extraer

solo Mana y Como Dueles En Los Labios claro que estos valores van a cambiar
eh tratado de hacerlo yo mismo esta madrugada y no tengo resultados. aun no manejo bien lo de regex espero me puedas ayudar.
  #8 (permalink)  
Antiguo 11/03/2008, 13:49
Avatar de razengan  
Fecha de Ingreso: agosto-2007
Ubicación: Lima - Perulandia
Mensajes: 117
Antigüedad: 16 años, 8 meses
Puntos: 2
Re: Uso de eregi_replace() y Regex !

ya lo resolvi , un poco de practica nada mas me faltaba...

Cita:
preg_match("/Canciones de (.*?) - (.*?) - Letras de Canciones/",$nombre_autor,$titulo);

echo $titulo[1];
echo $titulo[2];
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 07:45.