No se mucho de php y estoy tratando de obtener los enlaces de un archivo html mediante php. Es decir que lea un html y busque las líneas que contengan <a href=...>. Lo que he podido conseguir hasta el momento es esto:
Código PHP:
<?php
$html = file_get_contents('archivo.html');
$dom = new DOMDocument(); // creamos un nuevo documento
@$dom->loadHTML($html); // cargamos el código html
// obtenemos todo de la pagina
$xpath = new DOMXPath($dom);
$hrefs = $xpath->evaluate("/html/body//a");
for ($i = 0; $i <$hrefs->length; $i++) {
$href = $hrefs->item($i);
$url = $href->getAttribute('href'); // finalmente obtenemos la url
echo $url.'<br />'; // la desplegamos en pantalla
}
?>
*Reconocer enlaces de imágenes. Ej.:
Código HTML:
<a href="images/1.jpg"><img src="thumbs/1.jpg></a>
*Cada enlace encontrado guardarlo en un arreglo
*Mediante alguna función random obtener sólamente un elemento del arreglo y devolverlo con echo.
La idea es la siguiente:
Supongamos que existe un sitio que es una galería de imágenes con la siguiente estructura
www.nombre.com/galería
www.nombre.com/galería/index.html
www.nombre.com/galería/thumbnails/
www.nombre.com/galería/images
El archivo php recibiría como parámetro www.nombre.com/galería/index.html, leería el index en busca de los enlaces (apuntan a imágenes en la carpeta images) y devuelva uno de ellos de la forma <img scr="enlace encontrado" width="170" height="220">. La idea es obtener una vista previa de la galería con cualquiera de las imágenes :)
Pero puede sugir otro problema, que la url del enlace sea absoluta (directorio/recurso), que es lo más probable, suponiendo que el archivo php devolvió como resultado images/1.jpg entonces lo trataría de buscar en un directorio donde se aloja el mismo archivo php produciendo que no se encuentre la imágen. Necesitaría que me devuelva la url completa, es decir www.nombre.com/galería/images/1.jpg
Si url no tiene http:// entonces anteponer lo que va antes del index a url.
Tengo las ideas pero no sé como implementar todo esto, les agradeceré su ayuda