Ver Mensaje Individual
  #6 (permalink)  
Antiguo 19/11/2008, 01:08
Suyta
(Desactivado)
 
Fecha de Ingreso: septiembre-2004
Mensajes: 360
Antigüedad: 19 años, 7 meses
Puntos: 1
Respuesta: Cambiar links en página capturada con file_get_contents


Otra vez aquí
Resulta que para aplicar la solución de Pateketrueke necesito tomar una cadena que está contenida en otra. Uso preg_match_all así:

Código PHP:
if(preg_match_all('/<a href=\"\/imgres([\w\W]*?)\>/',$d18a,$fka)) {
  for (
$aki=0$akicount($fka[0]); $aki++) {
    
$full=$fka[$aki][$aki];

$a=preg_match('/href="(.+?)"/i'$full$matchv);
echo 
$a;
$matchv explode('?'$matchv[1]);
print_r($match);
$test explode('&'$matchv[1]);
//print_r($test);
foreach ($test as $strk)
{
  
$sub explode('='$strk);

  if (
$sub[0] === 'imgrefurl')
  {
    
//echo $test[1];
    
$t=$test[1];
    
$t=str_replace("imgrefurl="""$t);
    
//echo $t;
    
$full=str_replace($a'<a href="'.$t.'</a>'$d18a);
  }
}


}
}
$d23=$full
Esa variable $d18a es la cadenota donde tengo el texto de toda la página y $full es la parte donde quiero cambiar los links.
Pero........ no hay forma de que ese preg_match_all trabaje... vuelve siempre vacío y NO está vacío.

Código PHP:
if(preg_match_all('/<a href=\"\/imgres([\w\W]*?)\>/',$d18a,$fka)) { 
Qué esta mal ahí ? Yo uso un preg_match_all similar para otra parte del texto y trabaja pero éste nop.