Tengo otra cosilla que solucionar, esta la llevo pensando varios dias peor no se como hacer el metodo.
Os comento un poco, estoy haciendo un spider, este le doy una url madre y apartir de ella extraer el codigo html para luego buscar link. (asta aqui sin problemas).
la cosa esta en que ese mismo porceso deveria de repetirlo con cada link extraido, indefinidamente o si no es posible poner un numero de veces que tendria que repetir el proceso.
Dejo el codigo:
Código PHP:
$url = file_get_contents($url);
###########################################################
# Extraemos todos los link de esa web #
###########################################################
$extraer_link = preg_match_all("/(?#WebOrIP)((?#protocol)((http|https):\/\/)?(?#subDomain)(([a-zA-Z0-9]+\.(?#domain)[a-zA-Z0-9\-]+(?#TLD)(\.[a-zA-Z]+){1,2})|(?#IPAddress)((25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9])\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[1-9]|0)\.(25[0-5]|2[0-4][0-9]|[0-1]{1}[0-9]{2}|[1-9]{1}[0-9]{1}|[0-9])))+(?#Port)(:[1-9][0-9]*)?)+(?#Path)((\/((?#dirOrFileName)[a-zA-Z0-9_\-\%\~\+]+)?)*)?(?#extension)(\.([a-zA-Z0-9_]+))?(?#parameters)(\?([a-zA-Z0-9_\-]+\=[a-z-A-Z0-9_\-\%\~\+]+)?(?#additionalParameters)(\&([a-zA-Z0-9_\-]+\=[a-z-A-Z0-9_\-\%\~\+]+)?)*)?/i",
$url,
$respuestas);
if ($extraer_link)
foreach(array_unique($respuestas[0]) as $link)
echo $link . "<br />";
Un saludo