¿Cómo obtener el código fuente de una página web usando PHP?

Dada una página web, para la cual necesitamos encontrar su código fuente usando PHP. Para esto, vamos a utilizar la función PHP htmlspecialchars() que convierte cualquier carácter predefinido en sus entidades HTML subsiguientes.

Ejemplo 1: supongamos que tomamos un sitio web de muestra que se parece a la imagen de abajo, veamos qué salida produciría el código para el mismo.

Código HTML:

HTML

<!DOCTYPE html>
<html>
  
<head>
    <meta charset="utf-8">
    <title>SAMPLE WEBSITE</title>
</head>
  
<body style="color: green;">
    <h1>This is a Sample website</h1>
  
    <p>
        In this article we will learn 
        how to extract a web page's 
        source code through PHP
    </p>
</body>
  
</html>

Producción:

Salida como contenido del código fuente:

Ahora supongamos que el sitio web anterior está alojado en un host local , el código no cargaría el código fuente en tal caso. La salida producida sería algo similar a esto.

Producción:

Advertencia: archivo (archivo: ///D:/Html% 20website/gfg% 20sample% 20website/index.html): error al abrir la transmisión: no existe tal archivo o directorio en C:\xampp\htdocs\programs\source code. php en la línea 2

Advertencia: el argumento foreach() debe ser de tipo array|objeto, booleano dado en C:\xampp\htdocs\programs\source code.php en la línea 3

Ejemplo 2:

Acercarse:

  • Almacene sus elementos en una array.
  • Atraviese la array utilizando un bucle de programación PHP.
  • Convierta e imprima cada carácter en su entidad HTML subsiguiente.

Código PHP: a continuación se muestra la implementación del enfoque anterior.

PHP

<?php
  
// Storing the elements of the webpage into an array
$source_code = file('https://www.geeksforgeeks.org');
  
// 1. traversing through each element of the array
// 2.printing their subsequent HTML entities
foreach ($source_code as $line_number => $last_line) {
    echo nl2br(htmlspecialchars($last_line) . "\n");
}
  
?>

Producción:

Publicación traducida automáticamente

Artículo escrito por debjani1413 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *