<?php
session_start(); // Iniciar la sesión

// Inicializar la lista en la sesión si no existe
if (!isset($_SESSION['arrayobj'])) {
    $_SESSION['arrayobj'] = array('www.elevangelio.es', 'www.ejemplodedescarga.com.es');
}

// Obtener la lista desde la sesión
$arrayobj = $_SESSION['arrayobj'];
?>
<!DOCTYPE html>
<html lang="es">
   <head>
<meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" rel="stylesheet">
    <link href="https://getbootstrap.com/docs/5.3/assets/css/docs.css" rel="stylesheet">
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
<title>MINI-CRAWLER V.01</title>
</head>
<body style="display: flex; justify-content: center; align-items: flex-start; height: 100vh; margin: 0; padding-top: 20px;">
    <br />
    <div style="max-width: 400px; width: 100%;">
        <h1 style="text-align: center;">MINI-CRAWLER V.01</h1>
        <?php
            if ($_SERVER["REQUEST_METHOD"] == "POST" && isset($_POST['crawler'])) {
                $webcrawler = $_POST['webcrawler'];
                if (!empty($webcrawler)) {  
                    echo "<p>Procesando web $webcrawler</p>";
                    //Nuestra labor aqui consiste en procesar el contenido de una web
                    //Para ello lo primero que debemos hacer es cargar el contenido web proporcionado
                    //Create a DOM object from a URL - observe that
                    //allow_url_fopen is enabled in the PHP configuration file (php.ini)
                    $valueHtml="http://".$webcrawler;
                    //aqui tengo el valor del html / value of html
                    $htmlContent = file_get_contents($valueHtml);
                    //echo $htmlContent;
                    //ahora tengo que buscar patrones / searching paterns
                    //Ojo no olvidar añadir / al principio y final
                    $regex = '/www\.[a-z0-9-]+\.[a-z]{2,6}/i';
                    preg_match_all($regex, $htmlContent, $foundWebs);
                    foreach($foundWebs[0] as $web) {
                        //una encontrados los añado a mi lista
                        if (!in_array($web, $arrayobj)) {
                            $arrayobj[] = $web;
                            echo "Añadimos -> ".$web."<br/>";
                        }
                    }
                    // Guardar la lista actualizada en la sesión
                    $_SESSION['arrayobj'] = $arrayobj;
                } else {
                    echo "Se ha producido un error al intentar procesar la web.";
                }
            }
            if (isset($_POST['viewlist'])) {
                foreach ($arrayobj as $i => $value) {
                    echo $i.' -> ' . $value . "<br/>";
                }
            }
            if (isset($_POST['resetlist'])) {
                $_SESSION['arrayobj'] = array('www.elevangelio.es', 'www.ejemplodedescarga.com.es');
            }
        ?>

        <form method="post">
            <div class="mb-3">
                <label for="webcrawler">Web to Crawler (without http or https):</label>
                <input class="form-control" type="text" id="webcrawler" name="webcrawler">
            </div>
            <button class="btn btn-primary" type="submit" name="crawler" >Crawler</button>
            <button class="btn btn-secondary" type="submit" name="viewlist" >Ver indice</button>
            <button class="btn btn-danger" type="submit" name="resetlist" >Resetear indice</button>
        </form>
    </div>
   </body>
</html>