Foros del Web » Programando para Internet » PHP »

reemplazo con expresion regular

Estas en el tema de reemplazo con expresion regular en el foro de PHP en Foros del Web. Hola amigos, tengo un pequeño problema... leo un archivo "html" mediante código... y a este le hago una modificación a ciertos links... y les añado ...
  #1 (permalink)  
Antiguo 23/07/2009, 21:45
 
Fecha de Ingreso: enero-2008
Mensajes: 115
Antigüedad: 16 años, 3 meses
Puntos: 1
reemplazo con expresion regular

Hola amigos, tengo un pequeño problema...
leo un archivo "html" mediante código... y a este le hago una modificación a ciertos links... y les añado un parametro al final de esa url...

por ejemplo:

el html
Código PHP:
Documento prueba
<a href="http://www.dominio.com/?l=sadqwe82" external="true">Link 1</a><br />
<
a href="http://www.google.com">Página google</a>>br />
<
a href="http://www.dominio.com/?l=sdf23732s" external="true">Link 2</a><br /> 
luego con php, leo ese html, y agrego al final de la url los vínculos que tengan external="true" el parametro "i" y le asigno el valor "1", y el external="true" se quita.

y queda así:
Código PHP:
Documento prueba
<a href="http://www.dominio.com/?l=sadqwe82&i=1">Link 1</a><br />
<
a href="http://www.google.com">Página google</a>>br />
<
a href="http://www.dominio.com/?l=sdf23732s&i=1">Link 2</a><br /> 
Bueno no sé si alguien podría darme una mano con esto, gracias.
  #2 (permalink)  
Antiguo 23/07/2009, 22:14
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: reemplazo con expresion regular

Si tus direcciones siempre tendran el external="true" luego de la URL puedes hacer un simple reemplazo:

Código php:
Ver original
  1. str_ireplace('" external="true"', '&i=1"', $codigo);
  #3 (permalink)  
Antiguo 23/07/2009, 22:19
 
Fecha de Ingreso: enero-2008
Mensajes: 115
Antigüedad: 16 años, 3 meses
Puntos: 1
Respuesta: reemplazo con expresion regular

hola, gracias por tu respuesta.
Bueno esos links, pueden tener más atributos derepento como un class o un style, y no siempre los tendrían en el mismo orden... por eso más que todo buscaba una expresión regular...
te agradezco de todas formas por la ayuda.
  #4 (permalink)  
Antiguo 23/07/2009, 22:20
Avatar de Ronruby  
Fecha de Ingreso: julio-2008
Ubicación: 18°30'N, 69°59'W
Mensajes: 4.879
Antigüedad: 15 años, 9 meses
Puntos: 416
Respuesta: reemplazo con expresion regular

Entonces en ese caso, tendras que usar preg_replace_callback()
http://www.php.net/manual/en/functio...e-callback.php
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 14:04.