Ver Mensaje Individual
  #1 (permalink)  
Antiguo 15/07/2012, 19:06
higochumbo
 
Fecha de Ingreso: junio-2010
Mensajes: 26
Antigüedad: 13 años, 10 meses
Puntos: 3
Pregunta Como encuentro una cadena no especificada?

Hola saludos a todos.

Estaba aburriendome un rato y me he puesto a jugar a las magics otra vez. El caso es ke hay un programa ke tiene todas las cartas pero en inglés y hay una web comercial en la ke salen todas con los textos en castellano.

Estoy haciendo un programita bastante tonto para descargarme todas las imagenes de las cartas en español para poder implementarlas en el juego pero hay un par de datos ke no consigo y después de un buen rato buscando mi problema específico sin suerte me he decidido a postear mi duda.

El código es este:

<?php

$edicion[1] = "avr";
$edicion[2] = "dka";
$edicion[3] = "isd";
$edicion[4] = "nph";
$edicion[5] = "mbs";
$edicion[6] = "som";
$edicion[7] = "roe";
$edicion[8] = "wwk";
$edicion[9]= "zen";
$edicion[10] = "arb";
$edicion[11] = "cfx";
$edicion[12] = "ala";
$edicion[13] = "eve";
$edicion[14] = "shm";
$edicion[15] = "mt";
$edicion[16] = "lw";
$edicion[17] = "fut";
$edicion[18] = "pc";
$edicion[19] = "ts";
$edicion[20] = "tsts";
$edicion[21] = "cs";
$edicion[22] = "ai";
$edicion[23] = "ia";
$edicion[24] = "di";
$edicion[25] = "gp";
$edicion[26] = "rav";
$edicion[27] = "sok";
$edicion[28] = "bok";
$edicion[29] = "chk";
$edicion[30] = "5dn";
$edicion[31] = "ds";
$edicion[32] = "mi";
$edicion[33] = "sc";
$edicion[34] = "le";
$edicion[35] = "on";
$edicion[36] = "ju";
$edicion[37] = "tr";
$edicion[38] = "od";
$edicion[39] = "ap";
$edicion[40] = "ps";
$edicion[41] = "in";
$edicion[42] = "pr";
$edicion[43] = "ne";
$edicion[44] = "mm";
$edicion[45] = "ud";
$edicion[46] = "ul";
$edicion[47] = "us";
$edicion[48] = "ex";
$edicion[49] = "sh";
$edicion[50] = "tp";
$edicion[51] = "wl";
$edicion[52] = "vi";
$edicion[53] = "mr";
$edicion[54] = "hl";
$edicion[55] = "m13";
$edicion[56] = "m12";
$edicion[57] = "m11";
$edicion[58] = "m10";
$edicion[59] = "10e";
$edicion[60] = "9e";
$edicion[61] = "8e";
$edicion[62] = "7e";
$edicion[63] = "6e";
$edicion[64] = "5e";
$edicion[65] = "4e";
$edicion[66] = "4eb";
$edicion[67] = "salvat";
$edicion[68] = "pc2";
$edicion[69] = "cmd";

ini_set('max_execution_time', 259200);

Foreach ($edicion as $clave)
{
mkdir($clave, 0777);
$Numero = 1;
while ($Numero != 245)
{
$ArchivoRemoto = "http://magiccards.info/scans/es/$clave/$Numero.jpg";
$ArchivoLocal = "$clave/$Numero.jpg";
$datos = file_get_contents($ArchivoRemoto);
file_put_contents($ArchivoLocal, $datos);
$Numero = $Numero + 1;
}
}






?>

Este código funciona y me guarda todas las cartas en sus correspondientes carpetas pero las guarda nombrándolas con números ya ke asi es como están subidas al servidor. El nombre de la carta en cuestión está en el codigo de la página html y el problema ke tengo es ke no consigo localizar justo ese sitio en el código. Son un monton de cartas y no kiero ir descargándolas una por una ni renombrándolas después. El nombre aparece en una parte del código y esa parte es tal ke así:

<img src="http://magiccards.info/images/en.gif" alt="English"
width="16" height="11" class="flag2">
<a href="/avr/en/1.html">Angel of Glory's Rise</a><br>

El nombre de la carta ke yo kiero guardar en una variable es Angels of Glory's Rise pero no encuentro una función ke me buske una cadena entre dos cadenas. Usease, si yo kiero Guardar en una variable Angel of Glory's Rise debería haber una función ke me permita localizar el texto ke haya entre <a href="/avr/en/1.html"> y </a><br>

E visto un monton de ejemplos en los ke pone como empezar a buscar a partir de o hasta, pero creo ke no me sirve porke yo kiero ke buske desde un punto hasta otro sin tener ke especificar un numero intermedio de caracteres porke no todas las cartas tienen el mismo nombre. No se, estoy perdido :P