Доступ к исходному коду HTML с использованием PHP или JavaScript

Я пытаюсь получить доступ, а затем распечатать (или просто использовать) исходный код любого веб-сайта с помощью PHP. Я не очень опытен и теперь думаю, что мне, возможно, понадобится использовать JS для этого. До сих пор код ниже обращается к исходному коду веб-страницы и отображает веб-страницу … Вместо этого я хочу показать исходный код. По сути, и самое главное, я хочу, чтобы иметь возможность хранить исходный код в какой-то переменной, поэтому я могу использовать его позже. И, в конце концов, прочитайте его по очереди – но это можно решить позже.

$url = 'http://www.google.com'; function get_data($url) { $ch = curl_init(); $timeout = 5; curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout); $data = curl_exec($ch); curl_close($ch); return $data; } echo get_data($url); //print and echo do the same thing in this scenario. 

Related of "Доступ к исходному коду HTML с использованием PHP или JavaScript"

Рассмотрите возможность использования file_get_contents() вместо curl . Затем вы можете отобразить код на своей странице, заменив каждую открывающую скобку (<) на &lt; а затем выводит его на страницу.

 <?php $code = file_get_contents('http://www.google.com'); $code = str_replace('<', '&lt;', $code); echo $code; ?> 

Редактировать:
Похоже, что завиток на самом деле быстрее, чем FGC, поэтому игнорируйте это предложение. Остальная часть моего поста все еще стоит. 🙂

Вы должны попытаться распечатать результат между тегами <pre></pre> ;

 echo '<pre>' . get_data($url) . '</pre>'; 

Я переписал вашу функцию. Функция может возвращать источник с линиями или без строк.

 <?php function get_data($url, $Addlines = false){ $ch = curl_init($url); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_BINARYTRANSFER, true); $content = curl_exec($ch); $content = htmlspecialchars($content); // Prevents the browser to parse the html curl_close($ch); if ($Addlines == true){ $content = explode("\n", $content); $Count = 0; foreach ($content as $Line){ $lines = $lines .= 'Line '.$Count.': '.$Line.'<br />'; $Count++; } return $lines; } else { $content = nl2br($content); return $content; } } echo get_data('https://www.google.com/', true); // Source code with lines echo get_data('https://www.google.com/'); // Source code without lines ?> 

Надеюсь, он заставит тебя идти.

Добавить заголовок Content-Type: text / plain

 header("Content-Type: plain/text"); 

Используйте htmlspecialchars () в php для печати исходного кода.

В своем коде используйте

return htmlspecialchars($data);

вместо

return $data;